重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
官方文档的示例中没有我们习惯的日期格式,查了很多博客转换日期和时间戳也都是大概的能得到结果的方式,常将 datetime 和 time 两个模块混用,个人觉得时间格式化不应该这么麻烦,还得用两个模块来支持?故而翻遍了源码,总结以下常用的几种日期和时间戳的转换方式。
创新互联是一家专业提供沛县企业网站建设,专注与成都网站建设、网站制作、H5开发、小程序制作等业务。10年已为沛县众多企业、政府机构等服务。创新互联专业网络公司优惠进行中。以下主要有三个元素(时间字符串,格式,Unix时间戳),可将时间字符串转为另一种时间格式,或将时间字符串转为时间戳,或将时间戳转为时间字符串。
datetime 和 time 两个模块,任意一个都能转换完成。
以下两个模块均列出示例:
# coding: utf-8 from datetime import datetime import time s = '2019-06-07 16:30:10' f = '%Y-%m-%d %H:%M:%S' s2 = 'Fri Jun 7 16:30:10 2019' f2 = '%c' // 时间字符串转时间戳, 时间字串 s和format 对应 // int(t) 转为整型 t = datetime.strptime(s, f).timestamp() # 1559856210.0 t2 = time.mktime(time.strptime(s, f)) # 1559856210.0 t3 = time.mktime(time.strptime(s2, f2)) # 1559856210.0 t4 = datetime.strptime(s2, f2).timestamp() # 1559856210.0 t5 = datetime.strptime('2019-06-07', '%Y-%m-%d').timestamp() # 1559836800.0 t6 = datetime.strptime('06/07/19', '%x').timestamp() # 1559836800.0 (06/07/2019, '%m/%d/%Y') print(t, t2, t3, t4, t5, t6, "\n") ut = 1559896210 # 时间戳转为时间字符串 d = datetime.fromtimestamp(ut) # 2019-06-07 16:30:10 d2 = time.strftime(f, time.localtime(ut)) # 2019-06-07 16:30:10 d3 = time.ctime(ut) # Fri Jun 7 16:30:10 2019 d4 = datetime.fromtimestamp(ut).ctime() # Fri Jun 7 16:30:10 2019 d5 = time.strftime('%Y-%m-%d', time.localtime(ut)) # 2019-06-07 (05:23:30, %H:%M:%S) d6 = datetime.fromtimestamp(ut).date() # 2019-06-07 d7 = datetime.fromtimestamp(ut).time() # 16:30:10 d8 = time.strftime('%x', time.localtime(ut)) # 06/07/19 d9 = time.strftime('%X', time.localtime(ut)) # 16:30:10 dd = datetime.fromtimestamp(ut).strftime('%x') # 06/07/19 [(16:30:10, %X), (Fri Jun 7 16:30:10 2019, %c)] print(d, d2, d3, d4, d5, d6, d7, d8, d9, dd, "\n") # 格式转换 # 将 2019-06-07 16:30:10 转为 Fri Jun 7 16:30:10 2019 # (16:30:10, %X) transf = datetime.strptime(s, f).strftime(f2) # 将 Fri Jun 7 16:30:10 2019 转为 2019-06-07 # (2019-06-07 16:30:10, %Y-%m-%d %H:%M:%S) transf2 = datetime.strptime(s2, f2).strftime('%Y-%m-%d') # 将 2019-06-07 16:30:10 转为 Fri Jun 7 16:30:10 2019 # (2019-06-07 16:30:10, %Y-%m-%d %H:%M:%S) transf3 = time.strftime('%c', time.strptime(s, f)) # 将 Fri Jun 7 16:30:10 2019 转为 2019-06-07 16:30:10 transf4 = time.strftime(f, time.strptime(s2, f2)) print(transf, transf2, transf3, transf4)
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。