Python学习笔记.OS学习笔记 OS操作系统(operating system)(三) 日期和时间

日期和时间:
好多库函数:

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个对象:

  1. date:处理年,月,日
  2. time:处理时,分,秒,微妙
  3. datetime:处理日期和时间同时出现的情况
  4. 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!'
>>>

在这里插入图片描述

注意事项:
字符串的非格式化部分(没有%部分)必须完全匹配。否则报错!
超出范围也会报错!

关于为外国友人输出东西:
自己以后用到再看吧。
输出里面的名字!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章