标签:自动 print port 转换 ftime 日志 属性 注意 1.5
from datetime import datetime
from dateutil import parser
d1 = ‘2018/1/8 14:30‘
date1 = datetime.strptime(d1, ‘%Y/%m/%d %H:%M‘) #需要拼写出格式
print(type(date1))
print(date1)
date_str = date1.strftime(‘%Y:%m-%d %X‘) #注意这里的格式^_^
print(date_str)
<class ‘datetime.datetime‘>
2018-01-08 14:30:00
2018:01-08 14:30:00
#使用parser快速搞定,不用在拼写格式
d1 = ‘2018/1/8 14:30‘ #必须是英文格式
d1 = ‘2018:1:8 14:30‘ # 这种格式的也可以的,都是转换成下面的格式
date1 = parser.parse(d1)
print(type(date1))
print(date1)
<class ‘datetime.datetime‘>
2018-08-04 14:30:00
# 中文的年月日的处理
d1 =‘2018年2月20日 14:40‘
d1.replace(‘年‘ ,‘/‘).replace(‘月‘,‘/‘).replace(‘日‘ ,‘‘)
‘2018/2/20 14:40‘
# 只有日期,自动追加时间
s = ‘1.6‘
now = datetime.now()
print(type(now))
my_time = now.replace(day = 1, month = 6) # 强行改变时间的设置
print(now, my_time)
my_time.strftime(‘%Y-%m-%d %X‘)
<class ‘datetime.datetime‘>
2018-08-04 10:39:23.553173 2018-06-01 10:39:23.553173
‘2018-06-01 10:39:23‘
# 封装函数
from datetime import datetime
from dateutil import parser
def change_datetime(dt):
‘‘‘转换日期时间格式到 yyyy-mm-dd hh:mm:ss‘‘‘
date1 = parser.parse(dt)
# print(date1)
date_str = date1.strftime(‘%Y-%m-%d %X‘) #str 没有属性strftime
print(date1, date_str)
return date1, date_str
# print(change_datetime(‘2015/2/4/ 14:39‘))
# dt , dt_str = change_datetime(‘2015/2/4 13:11‘)
dt_str = change_datetime(‘2015/2/4 13:11‘)
2015-02-04 13:11:00 2015-02-04 13:11:00
dt_str
(datetime.datetime(2015, 2, 4, 13, 11), ‘2015-02-04 13:11:00‘)
##############################################################
# print(change_datetime(‘2015/2/4/ 14:39‘))
dt , dt_str = change_datetime(‘2015/2/4 13:11‘)
# dt_str = change_datetime(‘2015/2/4 13:11‘)
2015-02-04 13:11:00 2015-02-04 13:11:00
dt
datetime.datetime(2015, 2, 4, 13, 11)
dt_str
‘2015-02-04 13:11:00‘
def change_datetime_cn(dt):
‘‘‘转换中文年月日的时间‘‘‘
date11 = dt.replace(‘年‘,‘/‘).replace(‘月‘,‘/‘).replace(‘日‘,‘‘)
return change_datetime(date11)
change_datetime_cn(‘2018年8月4日‘)
2018-08-04 00:00:00 2018-08-04 00:00:00
(datetime.datetime(2018, 8, 4, 0, 0), ‘2018-08-04 00:00:00‘)
def change_datetime_cnn(dt):
"""转换‘1.4’这种格式的日志,并添加时间"""
month, day = dt.split(‘.‘) # 分别赋值给month , day
now = datetime.now()
my_time = now.replace(day = int(day), month = int(month))
print(now, my_time)
return now, my_time.strftime(‘%Y-%m-%d %X‘)
change_datetime_cnn(‘2.5‘)
2018-08-04 12:06:39.668178 2018-02-05 12:06:39.668178
(datetime.datetime(2018, 8, 4, 12, 6, 39, 668178), ‘2018-02-05 12:06:39‘)
# 抽象成类
class TimeMaster:
def __init__(self, fmt = ‘%Y-%m-%d %X‘):
self._output_format = fmt # 定义了转换的格式
def change_timedate_num(self, dt):
"""转换‘1.5’这种格式的日期,并添加时间"""
month, day = dt.split(‘.‘)
now = datetime.now()
my_time = now.replace(day = int(day), month = int(month))
print(now, my_time)
return now, my_time.strftime(self._output_format) # 引用定义的日期格式
def set_format(self, new_fmt):
self._outptu_format = new_fmt # 修改私有变量,修改传入的时间格式
标签:自动 print port 转换 ftime 日志 属性 注意 1.5
原文地址:http://blog.51cto.com/13118411/2154401