本文为原创文章,未经本人允许,禁止转载。转载请注明出处。
1.处理时间格式资料
👉获取现在的时间:
1
2
from datetime import datetime
current_time = datetime.now()#输出为:2020-08-19 22:09:47.804580
通过type(current_time)
查看current_time的格式为:<class 'datetime.datetime'>
,并不是字符串或者数字格式。
👉将时间转换成字符串:
1
current_time.strftime('%Y-%m-%d')#输出为:2020-08-19
👉将字符串转换成时间:
1
datetime.strptime('2020-08-19', '%Y-%m-%d')#输出为:2020-08-19 00:00:00
🚩python中时间日期格式化符号(🔗官方说明):
%y
:两位数的年份表示(00-99)。%Y
:四位数的年份表示(000-9999)。%m
:月份(01-12)。%d
:月内中的一天(0-31)。%H
:24小时制小时数(0-23)。%I
:12小时制小时数(01-12)。%M
:分钟数(00-59)。%S
:秒(00-59)。%a
:本地简化星期名称,例如:Wed
。%A
:本地完整星期名称,例如:Wednesday
。%b
:本地简化的月份名称,例如:Aug
。%B
:本地完整的月份名称,例如:August
。%c
:本地相应的日期表示和时间表示,例如:Wed Aug 19 22:25:13 2020
。%j
:年内的一天(001-366)。%p
:本地A.M.或P.M.的等价符,例如:PM
。%U
:一年中的星期数(00-53)星期天为星期的开始。%w
:星期(0-6),星期天为星期的开始。%W
:一年中的星期数(00-53)星期一为星期的开始。%x
:本地相应的日期表示,例如:08/19/20
。%X
:本地相应的时间表示,例如:22:28:10
。%Z
:当前时区的名称。%%
:%号本身。
2.时间回溯
👉时间往前回溯一天:
1
2
from datetime import timedelta
current_time - timedelta(days=1)#输出为:2020-08-18 22:43:58.022801
👉时间往后推移十天:
1
2
from datetime import timedelta
current_time - timedelta(days=-10)#输出为:2020-08-29 22:48:33.314726
也可写为:
1
current_time + timedelta(days=10)
datetime.timedelta
中的参数可以是:days
、seconds
、microseconds
、milliseconds
、minutes
、hours
、weeks
。
3.转换UNIX时间
UNIX时间(或称POSIX时间)是UNIX或类UNIX系统使用的时间表示方式:从UTC1970年1月1日0时0分0秒起至现在的总秒数,不考虑闰秒。
👉将datetime转换为UNIX timestamp:
1
2
from time import mktime
mktime(current_time.timetuple())#输出为:1597849302.0
其中current_time.timetuple()
的输出格式为:
1
time.struct_time(tm_year=2020, tm_mon=8, tm_mday=19, tm_hour=23, tm_min=4, tm_sec=27, tm_wday=2, tm_yday=232, tm_isdst=-1)
👉将UNIX timestamp转换为datetime:
1
datetime.fromtimestamp(1597849076)#输出为:2020-08-19 22:57:56
4.在pandas转换时间
我们以上一课:【Python基础】第十四课:资料转换中使用的csv文件为例,将“日期”一栏的格式改为datetime:
1
2
3
import pandas as pd
df = pd.read_csv("../Demo14/house_price.csv")
df["日期"] = pd.to_datetime(df["日期"], format="%Y年%m月%d日")
csv文件地址:链接。