python time 与datetim
一.time模块
time模块提供各种操作时间的函数
一般有两种表示时间的方式:
第一种是时间戳的方式(相对于1970.1.1 00:00:00以秒计算的偏移量),时间戳是惟一的
#当前时间的时间戳
In [9]: time.time()
Out[9]: 1376102328.536908
第二种以数组的形式表示即(struct_time),共有九个元素,分别表示,同一个时间戳的struct_time会因为时区不同而不同
In [2]: time.localtime()
Out[2]: time.struct_time(tm_year=2013, tm_mon=8, tm_mday=10, tm_hour=10, tm_min=30, tm_sec=47, tm_wday=5, tm_yday=222, tm_isdst=0)
gmtime()与mktime()可以将两种时间表示方法自由转换
In [22]: time.gmtime(time.time())
Out[22]: time.struct_time(tm_year=2013, tm_mon=8, tm_mday=10, tm_hour=2, tm_min=46, tm_sec=54, tm_wday=5, tm_yday=222, tm_isdst=0)
In [23]: time.mktime(time.localtime())
Out[23]: 1376102845.0
strftime()可以将struct_time类型自由转换成字符型
In [24]: time.strftime("%Y%m%d", time.localtime())
Out[24]: '20130810'
strptime(string, format) 将时间字符串根据指定的格式化符转换成数组形式的时间
In [26]: time.strptime('20130810', "%Y%m%d")
Out[26]: time.struct_time(tm_year=2013, tm_mon=8, tm_mday=10, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=5, tm_yday=222, tm_isdst=-1)
注意,不能直接将时间戳转换为字符串,时间串也不能直接转换为时间戳,只能通过localtime,利用mktime方法来转
二.datetime模块
In [27]: datetime.datetime.now()
Out[27]: datetime.datetime(2013, 8, 10, 10, 56, 10, 611490)
strftime方法,可以将一个datetime型日期转换成字符串
In [28]: datetime.datetime.now().strftime("%Y%m%d")
Out[28]: '20130810'
datetime.strptime(date_string, format):将格式字符串转换为datetime对象
In [30]: datetime.datetime.strptime("20130810", "%Y%m%d")
Out[30]: datetime.datetime(2013, 8, 10, 0, 0)
三.计算当前时间的前1天
one_day_before = datetime.datetime.today() - datetime.timedelta(days=1)
天:days
小时:hours
分钟:minutes
四.time与datetime之间的互相转换
time 转为datetime
a = time.time()
datetime.datetime.fromtimestamp(a)
datetime 转为time
b = datetime.datetime.now()
time.mktime(b.timetuple())
参考:http://iam42.iteye.com/blog/1922875
http://blog.csdn.net/hong201/article/details/3193121
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341