对时间格式的操作——time模块和datetime模块

对时间格式的操作——time模块和datetime模块

import time
import datetime
import pandas as pd

"""常用的时间格式转化"""
#将元组格式日期转化为'2020-05-24'格式
today=datetime.date.today()#获取今天元组格式日期
today=today.strftime('%Y%m%d')#将元组格式日期转化为'20200524'格式
today.strftime('%Y-%m-%d')#将元组格式日期转化为'2020-05-24'格式

#将'2020-05-24'转化为'20200524'
time_=time.strptime('2020-05-24','%Y-%m-%d')#先将'2020-05-24'转化为元组格式时间
time_=time.strftime('%Y%m%d',time_)#再将元组格式的时间转化为'20200524'格式

#将数据框中列的时间格式由‘2020-08-17’更改为‘20200817’
data=pd.DataFrame(pd.date_range('20200304','20200817',freq='d'),columns=['date'])
data['date'].dt.strftime('%Y%m%d')#更改为‘20200817’
data['date'].dt.strftime('%Y%m')#更改为‘202008’


time.gmtime(0)#查看平台初试时间,对于Unix平台,初始时间是1970,01,01,00:00:00(UTC)

#时间格式类型
#1.元组类型:将时间输出为一个元组
time.gmtime(0)
#2.时间戳类型:将时间输出为一串数字
time.time()
#3.格式化时间类型
time.ctime(time.time())

#时间格式的互相转化
#1.将元组类型的时间转换为如下形式:'Sun Jun 20 23:21:05 1993'
t=time.gmtime(0)
time.asctime(t)
#2.将时间戳的时间转换为表示本地时间的字符串
t=time.time()
time.ctime(t)
#3.将时间戳的时间转换为元组时间
t=time.time()
time.gmtime(t)
time.localtime(789)#查看本地时间的元组时间格式
#4.将元组类型的时间转换为时间戳类型
t=time.gmtime(0)
time.mktime(t)
time.monotonic()#返回一个单调时钟的值(以分数秒为单位)
time.monotonic_ns()#和time.monotonic()类似,但返回值为纳秒。
time.perf_counter()#返回性能计数器的值(以小数秒为单位),即具有最高可用分辨率来测量短时间的时钟。
time.sleep(4)#使程序休眠指定秒数

#5.将元组类型的时间转换为指定格式的时间字符串
time.strftime()

t_1=time.localtime()#将本地时间转为指定格式时间
time.strftime('%a',t_1)

t_2=time.time()#将当前时间转化为指定格式时间
t_2=time.gmtime(t_2)
time.strftime('%A',t_2)

"""
%a-->星期的缩写
%A-->完整的星期的名称
%b-->月份的缩写
%B-->完整的月份名称
%c-->'Wed Mar 20 21:40:19 2019'格式
%d-->十进制数格式的日期[01,31]
%H-->小时(24小时制) 十进制数[00,23]
%I-->小时(12小时制) 十进制数[01,12]
%j-->一年中的一天(十进制数)[001,366]
%m-->月份(十进制数)[01,12]
%M-->分钟数(十进制数)[00,59]
%p-->AM或PM
%S-->秒数[00,59]
%U-->一年中的周数(星期日作为一周的第一天)十进制数[00,53],第一个星期日之前的所有日子被认为是第0周。
%w-->星期数(十进制数)[0,6]
%W-->一年中的周数(星期一作为一周的第一天)十进制数[00,53],第一个星期一之前的所有日子被认为是第0周。
%x-->日期表示(月/日/不带世纪的年份)例如'03/20/19'
%X-->时间表示(时:分:秒)例如'21:56:34'
%y-->不带世纪的年份(十进制数)[00,99]
%d-->一个月中的某一天
%Y-->带世纪的年份(十进制数)
%z-->时区偏移指示与格式+ HHMM或-HHMM形式的UTC / GMT的正或负时差,其中H表示十进制小时数字,M表示小数分钟数字[-23:59,+ 23:59]。
%Z-->时区名称,例如'中国标准时间'
%%-->'%'字符。
"""

#6.将字符串类型的时间按照指定格式转化为元组类型的时间
time.strptime('2 may 2018','%d %B %Y')
today=datetime.date.today().strftime('%Y%m%d')#获取今天日期
yesterday = (datetime.date.today() + datetime.timedelta(days=-1)).strftime('%Y%m%d')#获取昨天日期
this_month=datetime.date.today().strftime('%Y%m')#获取这个月的日期
now_time = datetime.datetime.now()#获取现在时间
hour=now_time.strftime('%H')#显示当前几点

#计算两个日期之间相差多少天
	date1 = '2020-12-26 19:35:25'
	date2 = '15/Nov/2014:07:14:24'
	
	# 定义的日期格式需与当前时间格式一致
	time1 = datetime.datetime.strptime(date1, '%Y-%m-%d %H:%M:%S')
	time2 = datetime.datetime.strptime(date2, '%d/%b/%Y:%H:%M:%S')
	time_ = time1 - time2#作差
	time_.days#查看相差天数
	time_.seconds#查看相差秒数



















猜你喜欢

转载自blog.csdn.net/weixin_45590329/article/details/106315341