打印当前时间戳
import time import datetime t = time.time() print (t) #原始时间数据 print (int(t)) #秒级时间戳 print (int(round(t * 1000))) #毫秒级时间戳 print (int(round(t * 1000000))) #微秒级时间戳
将当前时间转换成字符串
import datetime now_str = datetime.strftime(datetime.now(), "%Y%m%d%H%M%S%f") #%f表示精确到微秒
python 时间戳转为字符串
方法一
import datetime import time stamp = int(time.time()) print datetime.datetime.fromtimestamp(stamp) 2017-07-29 16:08:32
方法二
>>> time.strftime("%Y-%m-%d %H:%M", time.localtime(stamp)) '2017-07-29 16:08' >>>
timedalte()
timedalte 是datetime中的一个对象,该对象表示两个时间的差值
构造函数:datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
其中参数都是可选,默认值为0,如果只有一个参数,则表示天数
获取当前时间整点值
now_datetime = datetime.datetime.now() # 当前时间,格式为datetime类型 # 把当前时间去除分、秒和毫秒后即是小时级别的整点值了 now_datetime_hour = now_datetime + datetime.timedelta(minutes=-now_datetime.minute, seconds=-now_datetime.second, microseconds=-now_datetime.microsecond)
打印结果:
now_datetime ======> 2021-12-19 16:15:47.156853
now_datetime_hour ======> 2021-12-19 16:00:00
将时间字符串转换为时间戳
time.strptime(t, format)函数可以将 时间字符串t按照 format格式解析后转成换一个下面这样的时间结构体struct_time,
time.struct_time(tm_year=2021, tm_mon=11, tm_mday=20, tm_hour=14, tm_min=54, tm_sec=36, tm_wday=5, tm_yday=324, tm_isdst=-1)
time.mktime(t) 接受一个上面的时间结构体参数,返回一个带有一位小数的毫秒级时间戳
example1:
t = time.strptime('2021-11-20 14:54:36', "%Y-%m-%d %H:%M:%S") print(t) #time.struct_time(tm_year=2021, tm_mon=11, tm_mday=20, tm_hour=14, tm_min=54, tm_sec=36, tm_wday=5, tm_yday=324, tm_isdst=-1) # 将时间结构体转换为时间戳 t = time.mktime(t) print(t) #1637391276.0
example2:
import time t = "Mon Mar 16 00:09:00 +0000 2015" t = time.strptime(t, "%a %b %d %H:%M:%S %z %Y") # 将时间结构体转换为时间戳 t = time.mktime(t) # 1426435740.0 print(t)
strftime()中各个字母的含义
年 %Y Year with century as a decimal number. 月 %m Month as a decimal number [01,12]. 日 %d Day of the month as a decimal number [01,31]. 小时 %H Hour (24-hour clock) as a decimal number [00,23]. 分钟 %M Minute as a decimal number [00,59]. 秒 %S Second as a decimal number [00,61]. 时区 %z Time zone offset from UTC. %a Locale's abbreviated weekday name. %A Locale's full weekday name. %b Locale's abbreviated month name. %B Locale's full month name. %c Locale's appropriate date and time representation. 小时(12小时制)%I Hour (12-hour clock) as a decimal number [01,12]. %p Locale's equivalent of either AM or PM.