码迷,mamicode.com
首页 > 其他好文 > 详细

时间转换

时间:2018-08-04 12:32:15      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:自动   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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!