首页投稿(暂停使用,暂停投稿)

python---关于时间的处理(一)

2017-07-19  本文已影响0人  小蜗牛的成长

因为测试需要,最近2天重新整理了一遍从ftp下载原始数据文件及分析数据的脚本,发现对时间方面的处理不是很顺畅,查了不少资料及API文档

在python中关于时间处理主要用到2个模块,即datetime、time库。补充一点: 学习一个库,直接查看API文档是最快捷的方式,即 python3 -m pydoc -b

**综上所述: **
产生时间元组的方法:gmtime()localtime()strptime()
产生秒数(此处为浮点型)的方法:time()mktime()
将时间用字符串格式表示的方法:strftime()asctime()
示例:
将指定时间字符串转化成utc时间

import time
def getUTCTime(ptime):#输入的时间格式要求:'%Y/%m/%d %H:%M'
       time_tuple=time.strptime(ptime,'%Y/%m/%d %H:%M')
       seconds=time.mktime(time_tuple)
       utc_tuple=time.gmtime(seconds)
       formattime=time.strftime("%Y-%m-%d %H:%M",utc_tuple)
       print(time_tuple)
       print(seconds)
       print(utc_tuple)
       print(formattime)
getUTCTime("2017/12/2 23:55")
#结果
time.struct_time(tm_year=2017, tm_mon=12, tm_mday=2, tm_hour=23, tm_min=55, tm_sec=0, tm_wday=5, tm_yday=336, tm_isdst=-1)
1512230100.0
time.struct_time(tm_year=2017, tm_mon=12, tm_mday=2, tm_hour=15, tm_min=55, tm_sec=0, tm_wday=5, tm_yday=336, tm_isdst=0)
2017-12-02 15:55

附录:
转化格式说明,直接摘录了一篇博客,便于后续使用时再去查找,这里写得比API文档更为详细,感谢!同时附上博客地址:http://blog.csdn.net/chuan_day/article/details/73692278
%a 本地星期的短名称 如:Sun, Mon, ..., Sat (en_US); So, Mo, ..., Sa (de_DE)
%A 本地星期全名称 如 :Sunday, Monday, ..., Saturday (en_US);Sonntag, Montag, ..., Samstag (de_DE)
%w 星期的数字表示,0表示周日,6表示周六 如:0,1,2,,,6
%d 日的数字表示,并且使用0来填补(0-9),如:01, 02, ..., 31
%b 月份的短名称显示,英文单词简写,如:Jan, Feb, ..., Dec (en_US);Jan, Feb, ..., Dez (de_DE)
%B 月份的全名称显示,如:January, February, ..., December (en_US);Januar, Februar, ..., Dezember (de_DE)
%m 月份数字显示,并且用0来补全,如:01, 02, ..., 12
%y 年份的数字表示,两位表示,如:00, 01, ..., 99
%Y 年份的数字表示,四位表示,如:0001, 0002, ..., 2013, 2014, ..., 9998, 9999
%H 24小时制表示,如:00, 01, ..., 23
%I 12小时制表示,如:01, 02, ..., 12
%p 上下午的表示,如:AM,PM
%M 分钟,并且用0补全(0-9),如:00, 01, ..., 59
%S 秒钟,并且用0补全(0-9),如:00, 01, ..., 59
%f 微妙表示,如:000000, 000001, ..., 999999
%z 时区偏移量,如:(empty), +0000, -0400, +1030
%Z 时区名称,如:(empty), UTC, EST, CST
%j 全年中的哪一个,用0补全,如:001, 002, ..., 366
%U 全年中的第几个星期,sunday为第一天如:00, 01, ..., 53
%W 全年中的第几个星期,monday为第一天如:00, 01, ..., 53
%c 本地时间,如:06/24/17 15:43:10
%x 本地日期,如:08/16/88 (None);
%X 本地时间,如:21:30:00 (en_US);
%% %符号

上一篇 下一篇

猜你喜欢

热点阅读