沙滩星空的博客沙滩星空的博客

python时间戳和指定日期格式的转换

获取时间戳

时间戳单位最适于做日期运算。但是1970年之前的日期就无法以此表示了。
太遥远的日期也不行,UNIX和Windows只支持到2038年。

import time

print(time.time())
1608125848.8221698

时间元组

很多Python函数用一个元组装起来的9组数字处理时间. 一定是9组数字,缺一不可

# 获取当前时间的时间元组. tm_wday: 0-6, 0是周一, 2是周三  tm_isdst: 是否为夏令时
print(time.localtime())
time.struct_time(tm_year=2020, tm_mon=12, tm_mday=16, tm_hour=21, tm_min=15, tm_sec=11, tm_wday=2, tm_yday=351, tm_isdst=0)

时间戳转日期字符串

# 时间戳转时间元组
time.localtime(time.time()+20)
time.localtime(time.time())

# 时间元组转日期字符串
# 格式化成2016-03-20 11:45:39形式
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(1608125848.8221698))
time.strftime("%Y-%m-%d %H:%M:%S", (2020, 3, 28, 22, 24, 24, 5, 88, -1))

日期字符串转时间戳

# 时间字符串解析为时间元组. 
tupletime = time.strptime(str,fmt='%a %b %d %H:%M:%S %Y')
# 时间元组转时间戳(1970纪元后经过的浮点秒数)
time.mktime(tupletime)

a = "Sat Mar 28 22:24:24 2016"
print (time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y")))


time.localtime([secs]) 返回当地时间的时间元组. 已将时区考虑在内,转出基于当前时区时间。
但注意,有些设备的系统,时区没有被设置好,转出来是0时区的。

time.gmtime([secs]) 返回0时区的时间元组.


Python3 日期和时间 https://www.runoob.com/python3/python3-date-time.html

Python 将时间戳转换为指定格式日期 https://www.runoob.com/python3/python-timstamp-str.html

Linux中gmtime和localtime的区别 https://blog.csdn.net/sweetfather/article/details/81776358

未经允许不得转载:沙滩星空的博客 » python时间戳和指定日期格式的转换

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址