日期和时间:
好多库函数:
datetime time calendar dateutil ...and so on
日期表示的二义性,很烦人!
1/6/2010
你不知道到底是2010年的1月6日,还是6月1日
下面来看看判断闰年!
(4年一闰年,但是100的倍数的话,就要400的倍数才可以是闰年!)
1000就不是,2000就是。这个就说明“400”这个东西啦!
引入:calendar
calendar
n. 日历; 历法; 日程表; (一年之中的) 重大事件(或重要日期)一览表;
vt. 把…记入日程表中; 把…列入表中; 为(文件等)作分类索引; 将…排入日程表;
leap:
vi. 跳; 冲动的行动;
vt. 跳过,跃过; 使跳跃;
n. 跳跃,飞跃; 跳跃的距离;
[例句]He had leapt from a window in the building and escaped
他从大楼一个窗口跳出去跑了。
[其他] 第三人称单数:leaps 复数:leaps 现在分词:leaping 过去式:leaped 过去分词:leapt
datetime模块:
有4个对象:
- date:处理年,月,日
- time:处理时,分,秒,微妙
- datetime:处理日期和时间同时出现的情况
- timedelta:处理日期和/或者时间间隔
当你创建之后,这些数据就会变成对象的属性!
看来仅仅一个date确实不是一个可以引入的库!必须借助datetime这个大的库!
也就是上面说的他的4个主要对象之一!
例子:
可以利用isoformat()来打印出来这个!
iso:ISO 8601.一种表示时间的国际标准
这个也是可以使用today()来实现输出当天的日期!
timedelta对象来实现date的加法!
这个也是要引入的!
date的数值表示范围:
日:1-31
月:1-12
年:1-9999
使用要当心,就这么大的范围!
time会表示一天的时间!
这个,表示从计算机标准时间到现在已经过了这么久啦!
标准时间:1970.1.1.0点开始计时的!
用法跟前面的大致类似!
OK,datetime才是最好的呀!
不过这个也要进行引入,搞笑的是从他自身里面引入自己!
from datetime import datetime
具体输出!
可以分比提取出来:
ctime():可以将一个纪元值转换为一个字符串!
功能多多,就是输出变得好看啦!
另外一个新的模块!
time:
time.localtime(now):
会显示当下具体时间!都有英文描写!
time.gmtime(now):
会显示UTC的时间!都有英文描写!
协调世界时,又称世界统一时间,世界标准时间,国际协调时间,简称UTC
不属于任意时区
中国,8小时时差!
服务器的话,最好使用UTC,这样就不用担心时差带来的影响啦!
不要使用夏时制,秋时制。这样时间会紊乱,数据丢失就不好玩啦!
time.mktime():
会转换回纪元值!
读写日期和时间:
已经见过两个可以输出时间的函数:
ctime()
isoformat()
strftime()格式化字符串:https://baike.baidu.com/item/strftime/9569073?fr=aladdin
用法:
>>> import time
>>> f = "i am ko %Y %m %d %H %M %S now!"
>>> t = time.localtime()
>>> t
time.struct_time(tm_year=2018, tm_mon=12, tm_mday=17, tm_hour=21, tm_min=53, tm_sec=57, tm_wday=0, tm_yday=351, tm_isdst=0)
>>> time.strftime(f,t)
'i am ko 2018 12 17 21 53 57 now!'
>>>
时间在后面,时间为之前的字符串传递数据!
使用date里面的strftime(),用法跟time里面的不一样!
date只能获得日期!
当然,输出也不一样!
>>> from datetime import date
>>> s = date(2018,12,23)
>>> f = "i am ko %Y %m %d %H %M %S now!"
>>> s.strftime(f)
'i am ko 2018 12 23 00 00 00 now!'
>>>
time只能转换时间部分!
>>> from datetime import time
>>> s = time(20,18,3)
>>> s.strftime(f)
'i am ko 1900 01 01 20 18 03 now!'
>>>
注意事项:
字符串的非格式化部分(没有%部分)必须完全匹配。否则报错!
超出范围也会报错!
关于为外国友人输出东西:
自己以后用到再看吧。
输出里面的名字!