Python时间格式转换

作者: 小T数据站 | 来源:发表于2018-12-17 22:08 被阅读6次

这次学Python已经两周有余了,今天开始着手将一个平常利用Excel工作的过程用Python写成一个脚本以节省时间。
遇到的第一个问题是将'2018/12/17 0:00:00'转换为'2018/12/17'格式:
dt = {'date':['2018/12/17 0:00:00','2018/12/17 0:00:00']}
pd.DataFrame(dt) #建立一个模拟数据框
pd.to_datetime(dt['date']) #转化格式

今天的解决方法

以下是在网页上搜罗的时间格式的相关知识

from datetime import datetime
import time

time有四种类型(time, datetime, string, timestamp)

  1. string是最简单的表示time的方式
    t = '2018/12/17 00:00:00

  2. datetime tuple(datetime obj)
    datetime tuple是datetime.datetime对象类型


    datetime

3.time tuple(time obj)
time tuple是time.struct_time对象类型


time

4.timestamp
时间戳类型:自1970年1月1日(00:00:00 GMT)以来的秒数


timestamp

相互转换

  1. string转化为其他
    1.1 string转化为datetime obj
t = '2017/12/17 00:00:00'
datetime.strptime(t,'%Y/%m/%d %H:%M:%S')
1.1

1.2 string转化为time obj

t = '2017/12/17 00:00:00'
time.strptime(t,'%Y/%m/%d %H:%M:%S')
1.2
  1. datetime转化为其他
    dt_obj = datetime(2017, 12, 17, 00, 00, 00)
    2.1 datetime转string
    dt_obj.strftime('%Y/%m/%d %H:%M:%S')


    2.1

2.2 datetime转time

dt_obj =datetime(2017, 12, 17, 00, 00, 00)
dt_obj.timetuple()
2.2
  1. time obj转其他
    time_tuple = (2017, 12, 17, 00, 00, 00, 6, 351, 1)
    3.1 time obj转string
time_tuple = (2017, 12, 17, 00, 00, 00, 6, 351, 1)
time.strftime("%Y-%m-%d %H:%M:%S", time_tuple)
3.1

3.2 time obj转datetime

time_tuple = (2017, 12, 17, 00, 00, 00, 6, 351, 1)
datetime(*time_tuple[0:6])
3.2

3.3 time obj 转timestamp

time_tuple = (2017, 12, 17, 00, 00, 00, 6, 351, 1)
time.mktime(time_tuple)
3.3
  1. timestamp转其他
    目前觉得接触不到,就没尝试,附上参考文章链接

相关文章

网友评论

    本文标题:Python时间格式转换

    本文链接:https://www.haomeiwen.com/subject/tdgckqtx.html