时间模块之 格式化时间含中文报错 'locale' codec can't encode character '\u5e74'
import time
print(time.strftime('%Y年%m月%d日 %H时%M分%S秒'))
执行上面代码会报错 UnicodeEncodeError: 'locale' codec can't encode character '\u5e74' in position 2: Illegal byte sequence
解决方式:
time.strftime('%Y{y}%m{m}%d{d} %H{h}%M{f}%S{s}').format(y='年',m='月',d='日',h='时',f='分',s='秒')
时间格式化
import datetime
# str转时间格式:
dd = '2020-06-20 11:00:00'
dd = datetime.datetime.strptime(dd, "%Y-%m-%d %H:%M:%S")
print(dd,type(dd))
# 时间格式转str:
dc = dd.strftime("%Y-%m-%d %H:%M:%S")
print(dc,type(dc))
# str转时间格式:
dd = '20200620'
dd = datetime.datetime.strptime(dd, "%Y%m%d")
print(dd,type(dd))
# 时间格式转str:
dc = dd.strftime("%Y%m%d")
print(dc,type(dc))
#2020-06-20转化成20200620
startDate="2020-06-20"
startDate=startDate.replace("-","")
print(startDate)
总结
import time
print(time.clock()) #返回处理器时间,3.3开始已废弃 , 改成了time.process_time()测量处理器运算时间,不包括sleep时间,不稳定,mac上测不出来
# >>>6.220046588148945e-07
print(time.altzone) #返回与utc时间的时间差,以秒计算\
# >>>-32400
print(time.asctime()) #返回时间格式"Fri Aug 19 11:14:16 2016",
# >>>Fri Jun 19 19:04:07 2020
print(time.localtime()) #返回本地时间 的struct time对象格式
# >>>time.struct_time(tm_year=2020, tm_mon=6, tm_mday=19, tm_hour=19, tm_min=4, tm_sec=7, tm_wday=4, tm_yday=171, tm_isdst=0)
print(time.gmtime(time.time()-800000)) #返回utc时间的struc时间对象格式
# >>>time.struct_time(tm_year=2020, tm_mon=6, tm_mday=10, tm_hour=4, tm_min=50, tm_sec=47, tm_wday=2, tm_yday=162, tm_isdst=0)
print(time.asctime(time.localtime())) #返回时间格式"Fri Aug 19 11:14:16 2016",
# >>>Fri Jun 19 19:04:07 2020
print(time.ctime()) #返回Fri Aug 19 12:38:29 2016 格式, 同上
# >>>Fri Jun 19 19:04:07 2020
# 日期字符串 转成 时间戳
string_2_struct = time.strptime("2016/05/22","%Y/%m/%d") #将 日期字符串 转成 struct时间对象格式
print(string_2_struct)
# >>>time.struct_time(tm_year=2016, tm_mon=5, tm_mday=22, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=6, tm_yday=143, tm_isdst=-1)
#
struct_2_stamp = time.mktime(string_2_struct) #将struct时间对象转成时间戳
print(struct_2_stamp)
# >>>1463846400.0
#将时间戳转为字符串格式
print(time.gmtime(time.time()-86640)) #将utc时间戳转换成struct_time格式
# >>>time.struct_time(tm_year=2020, tm_mon=6, tm_mday=18, tm_hour=11, tm_min=3, tm_sec=58, tm_wday=3, tm_yday=170, tm_isdst=0)
print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime()) ) #将utc struct_time格式转成指定的字符串格式
# >>>2020-06-19 11:07:58
print(time.strftime("%Y%m%d_%H%M%S",time.localtime()) )
# >>>20200619_190855
#时间加减
import datetime
print(datetime.datetime.now()) #返回 2016-08-19 12:47:03.941925
# >>>2020-06-19 19:09:34.638305
print(datetime.date.fromtimestamp(time.time()) ) # 时间戳直接转成日期格式 2016-08-19
# >>>2020-06-19
print(datetime.datetime.now() )
# >>>2020-06-19 19:09:34.638305
print(datetime.datetime.now() + datetime.timedelta(3)) #当前时间+3天
# >>>2020-06-22 19:09:34.638305
print(datetime.datetime.now() + datetime.timedelta(-3)) #当前时间-3天
# >>>2020-06-16 19:09:34.638305
print(datetime.datetime.now() + datetime.timedelta(hours=3)) #当前时间+3小时
# >>>2020-06-19 22:09:34.638305
print(datetime.datetime.now() + datetime.timedelta(minutes=30)) #当前时间+30分
# >>>2020-06-19 19:39:34.638305
#
c_time = datetime.datetime.now()
print(c_time.replace(minute=3,hour=2)) #时间替换 手动设置时间
# >>>2020-06-19 02:03:15.271630
浙公网安备 33010602011771号