【Python】中的时间和日期操作

2020-08-15  本文已影响0人  吵吵人

网易笔试中,因为没能将最后的结果(时间格式)打印出来,导致笔试失败,后悔莫及……

模块: time 、calendar、datetime

time模块

时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示,能表示的时间间隔:1970-2038

import time

if __name__ == '__main__':
    print(time.time())
import time

if __name__ == '__main__':
    print(time.ctime())

import time

if __name__ == '__main__':
    print(time.localtime(time.time()))

格式化时间:
strftime

import time

if __name__ == '__main__':
    print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime()))

几个常用的日期格式化符号:
前加%
年月日:ymd,Y是四位数,y是2位数年份
时分秒:HMS,H是24小时制,l是12小时制
星期月份文本表示:ab,AB是完整书写,ab是简写
本地A.M.或P.M.的等价符:p
本地相应的日期表示和时间表示:c

Sat Aug 15 17:01:28 2020

本地相应的日期:x

08/15/20

本地相应的时间:X

17:01:06

import time

if __name__ == '__main__':
    t = (2020, 8, 15, 17, 10, 12, 5, 227, -1)
    print(time.asctime(t))

输出:

Sat Aug 15 17:10:12 2020

calendar

import calendar

if __name__ == '__main__':
    cal = calendar.month(2016, 1)
    print(cal)
输出

datetime

datetime可以看作是在time之上,更高级的形式

问题:设现在时间是上午8点,输出12345秒之后的时间
strptime:将字符串时间转换成时间格式
strftime:调整时间格式

import datetime

if __name__ == '__main__':
    setTime = '08-00-00'
    now = datetime.datetime.strptime(setTime, '%H-%M-%S')
    print('当前时间:', now.strftime('%H:%M:%S %p'))

    endnow = now + datetime.timedelta(minutes=12345)
    print('N秒之后:', endnow.strftime('%H:%M:%S %p'))

输出

当前时间: 08:00:00 AM
N秒之后: 21:45:00 PM

    a = 12
    b = 23
    c = 3
    print('{}:{}:{}'.format(str(a).rjust(2, '0'), str(b).rjust(2, '0'), str(c).rjust(2, '0')))

输出:

12:23:03

上一篇 下一篇

猜你喜欢

热点阅读