python只获取日期,要用到的是python的内置模块,time模块。
顾名思义,这是一个和时间有关的模块。html |
首先导入time模块。python
import time
第一步要作的就是从1970纪元后到目前为止度过的秒数(浮点类型)。linux
其实想要得到这个秒数,只有一个方法,就是经过time模块内的time方法来得到。翻译
即time.time()3d
可是,time.time返回的这个高精度浮点数咱们并不能准确的获得咱们想要的当前时间。咱们只知道这是从1970到目前为止已通过了多少秒。htm
这里咱们还须要使用一个方法来把秒数变成当前的时间戳。对象
这时咱们就要用到另一个方法,localtime方法,该方法的参数为咱们刚刚所说的1970年到目前为止的秒数,返回值为一个叫struct_time结构体,若是不懂什么叫结构体,不要紧,也能够理解为localtime方法返回一个struct_time对象。blog
time.localtime(time.time())
能够看到localtime方法的返回结果,从单词的字面上咱们也能大概了解到:字符串
前缀tm为time,year为年份,mon为月份,mday为日,hour为时,min为分,sec为秒等等
可是咱们想要的并非这种结果,咱们想要得到一个易于理解的数据。get
常见的asctime类型,例如显示结果如Wed Feb 13 15:46:11 2018
若是小伙伴经常使用Linux对这种类型显然不会陌生,在linux上,咱们使用date命令,不进行时间格式化的话,就会输出这种形式的时间。
例如小编这里虚拟机内的linux,运行date的输出结果如图。
格式为:星期几 月份 日数 时:分:秒 年份
注意的是,在linux上的date默认会输出时间区域,例如默认的美国时间EDT,或者修改成咱们大陆的北京时间CTS。
这里提供两种方法进行struct_time数据格式化。
第一种就是第4步讲述的asctime格式,咱们调用time模块内的asctime方法便可,参数为struct_time对象数据,返回字符串,即asctime格式当前日期时间。
time.asctime(time.localtime(time.time())) 'Wed Apr 4 20:27:15 2018' 翻译成中文是: 星期三 四月 4 20:27:15 2018
还有一个数据格式化的方法是time模块内提供的strftime方法。
str time.strftime(格式转化字符,时间戳)
格式转化字符以下:
%y 两位数的年份表示(00-99) %Y 四位数的年份表示(000-9999) %m 月份(01-12) %d 月内中的一天(0-31) %H 24小时制小时数(0-23) %I 12小时制小时数(01-12) %M 分钟数(00=59) %S 秒(00-59) %a 本地简化星期名称 %A 本地完整星期名称 %b 本地简化的月份名称 %B 本地完整的月份名称 %c 本地相应的日期表示和时间表示 %j 年内的一天(001-366) %p 本地A.M.或P.M.的等价符 %U 一年中的星期数(00-53)星期天为星期的开始 %w 星期(0-6),星期天为星期的开始 %W 一年中的星期数(00-53)星期一为星期的开始 %x 本地相应的日期表示 %X 本地相应的时间表示 %Z 当前时区的名称 %% %号自己 这里经常使用的小编就进行了加粗,其实经常使用的就是这几个。必定要记住的是: %Y = 年,%m = 月,%d = 日,%H = 24制时,%M = 分,%S = 秒。
那么知道转化符的意义以后,咱们作起来就很简单了。
例如咱们能够得到当前时间和日期,而后得到当前是一年中的第几天,而后得到当前的时区
time.strftime("当前日期:%Y年%m月%d日",time.localtime(time.time()))
#得到当前日期
time.strftime("当前时间:%H时%M分%S秒",time.localtime(time.time()))
#得到当前时间
time.strftime("今天是%Y年的第%j天,时区为%Z",time.localtime(time.time()))
代码只能在python3中有效运行,python2须要使用print输出(不然中文会变成16进制字符)。
python2运行以下,加上print便可:
print(time.strftime("当前日期:%Y年%m月%d日",time.localtime(time.time())))
#得到当前日期
print(time.strftime("当前时间:%H时%M分%S秒",time.localtime(time.time())))
#得到当前时间
print(time.strftime("今天是%Y年的第%j天,时区为%Z",time.localtime(time.time())))