当前位置:首页 » 编程语言 » python转datetime

python转datetime

发布时间: 2023-02-14 12:43:15

1. python datetime处理时间

python时间处理方法datetime(),下面就举几个代码案例进行说明,代码如下:

#-*-coding:utf-8-*-
#运行环境:Python3.4
#datetime类
#datetime是date与time的结合体,包括date与time的所有信息。
#它的构造函数如下:
#datetime.datetime(year,month,day[,hour[,minute[,second[,microsecond[,tzinfo]]]]])
#各参数的含义与date、time的构造函数中的一样,要注意参数值的范围。

#1.datetime类定义的类属性与方法:
#datetime.min、datetime.max:datetime所能表示的最小值与最大值;
#print:datetime.max:9999-12-3123:59:59.999999
#print:datetime.min:0001-01-0100:00:00
fromdatetimeimport*
importtime
print('datetime.max:'+str(datetime.max))
print('datetime.min:'+str(datetime.min))
#datetime.resolution:datetime最小单位;
#print:datetime.resolution:0:00:00.000001
print('datetime.resolution:'+str(datetime.resolution))
#datetime.today():返回一个表示当前本地时间的datetime对象;
#print:today():2012-09-1219:37:50.721000
print('today():'+str(datetime.today()))
#datetime.now([tz]):返回一个表示当前本地时间的datetime对象,如果提供了参数tz,则获取tz参数所指时区的本地时间;
#print:now():2012-09-1219:37:50.738000
print('now():'+str(datetime.now()))
#datetime.utcnow():返回一个当前utc时间的datetime对象;
#print:2012-09-1211:37:50.739000
print('utcnow():'+str(datetime.utcnow()))
#datetime.fromtimestamp(timestamp[,tz]):根据时间戮创建一个datetime对象,参数tz指定时区信息;
#print:fromtimestamp(tmstmp):2012-09-1219:37:50.741000
print('fromtimestamp(tmstmp):'+str(datetime.fromtimestamp(time.time())))
#datetime.utcfromtimestamp(timestamp):根据时间戮创建一个datetime对象;
#print:utcfromtimestamp(tmstmp):2012-09-1211:37:50.742000
print('utcfromtimestamp(tmstmp):'+str(datetime.utcfromtimestamp(time.time())))
#datetime.combine(date,time):根据date和time,创建一个datetime对象;
#print:datetime.combine(date,time):2012-09-1219:46:05
d=date(2012,9,12)
fromdatetimeimport*
t=time(19,46,5)
print('datetime.combine(date,time):'+str(datetime.combine(d,t)))
#datetime.strptime(date_string,format):将格式字符串转换为datetime对象;
#print:2007-03-0421:08:12
print(datetime.strptime("2007-03-0421:08:12","%Y-%m-%d%H:%M:%S"))

#2.datetime类提供的实例方法与属性
dt=datetime.strptime("2012-09-1221:08:12","%Y-%m-%d%H:%M:%S")
#print:2012912218120None
print(dt.year)
print(dt.month)
print(dt.day)
print(dt.hour)
print(dt.minute)
print(dt.second)
print(dt.microsecond)
print(dt.tzinfo)
print(dt.date())
print(dt.time())
print(dt.replace(year=2013))
print(dt.timetuple())
print(dt.utctimetuple())
print(dt.toordinal())
print(dt.weekday())
print(dt.isocalendar())
#printdt.isoformat([sep])
#datetime.ctime():返回一个日期时间的C格式字符串,等效于time.ctime(time.mktime(dt.timetuple()));

#3.格式字符串
#datetime.strftime(format)
#%a星期的简写。如星期三为Web
#%A星期的全写。如星期三为Wednesday
#%b月份的简写。如4月份为Apr
#%B月份的全写。如4月份为April
#%c:日期时间的字符串表示。(如:04/07/1010:43:39)
#%d:日在这个月中的天数(是这个月的第几天)
#%f:微秒(范围[0,999999])
#%H:小时(24小时制,[0,23])
#%I:小时(12小时制,[0,11])
#%j:日在年中的天数[001,366](是当年的第几天)
#%m:月份([01,12])
#%M:分钟([00,59])
#%p:AM或者PM
#%S:秒(范围为[00,61],为什么不是[00,59],参考python手册~_~)
#%U:周在当年的周数当年的第几周),星期天作为周的第一天
#%w:今天在这周的天数,范围为[0,6],6表示星期天
#%W:周在当年的周数(是当年的第几周),星期一作为周的第一天
#%x:日期字符串(如:04/07/10)
#%X:时间字符串(如:10:43:39)
#%y:2个数字表示的年份
#%Y:4个数字表示的年份
#%z:与utc时间的间隔(如果是本地时间,返回空字符串)
#%Z:时区名称(如果是本地时间,返回空字符串)
#%%:%%=>%

dt=datetime.now()
#print:(%Y-%m-%d%H:%M:%S%f):2012-09-1223:04:27145000
print('(%Y-%m-%d%H:%M:%S%f):'+str(dt.strftime('%Y-%m-%d%H:%M:%S%f')))
#print:(%Y-%m-%d%H:%M:%S%p):12-09-1211:04:27PM
print('(%Y-%m-%d%H:%M:%S%p):'+str(dt.strftime('%y-%m-%d%I:%M:%S%p')))
#print:%a:Wed
print('%%a:%s'%dt.strftime('%a'))
#print:%A:Wednesday
print('%%A:%s'%dt.strftime('%A'))
#print:%b:Sep
print('%%b:%s'%dt.strftime('%b'))
#print:%B:September
print('%%B:%s'%dt.strftime('%B'))
#print:日期时间%c:09/12/1223:04:27
print('日期时间%%c:%s'%dt.strftime('%c'))
#print:日期%x:09/12/12
print('日期%%x:%s'%dt.strftime('%x'))
#print:时间%X:23:04:27
print('时间%%X:%s'%dt.strftime('%X'))
#print:今天是这周的第3天
print('今天是这周的第%s天'%dt.strftime('%w'))
#print:今天是今年的第256天
print('今天是今年的第%s天'%dt.strftime('%j'))
#print:今周是今年的第37周
print('今周是今年的第%s周'%dt.strftime('%U'))

上面代码案例运行结果如下:

atetime.max:9999-12-3123:59:59.999999

datetime.min:0001-01-0100:00:00

datetime.resolution:0:00:00.000001

today():2014-05-0415:58:18.141186

now():2014-05-0415:58:18.193146

utcnow():2014-05-0407:58:18.243958

fromtimestamp(tmstmp):2014-05-0415:58:18.291558

utcfromtimestamp(tmstmp):2014-05-0407:58:18.342550

datetime.combine(date,time):2012-09-1219:46:05

2007-03-0421:08:12

2012

9

12

21

8

12

0

None

2012-09-12

21:08:12

2013-09-1221:08:12

time.struct_time(tm_year=2012,tm_mon=9,tm_mday=12,tm_hour=21,tm_min=8,tm_sec=12,tm_wday=2,tm_yday=256,tm_isdst=-1)

time.struct_time(tm_year=2012,tm_mon=9,tm_mday=12,tm_hour=21,tm_min=8,tm_sec=12,tm_wday=2,tm_yday=256,tm_isdst=0)

734758

2

(2012,37,3)

(%Y-%m-%d%H:%M:%S%f):2014-05-0415:58:19326295

(%Y-%m-%d%H:%M:%S%p):14-05-0403:58:19PM

%a:Sun

%A:Sunday

%b:May

%B:May

日期时间%c:SunMay415:58:192014

日期%x:05/04/14

时间%X:15:58:19

今天是这周的第0天

今天是今年的第124天

今周是今年的第18周

2. [python]统一转换日期格式dateutil.parser.parse

背景:

我有很多很多的日志数据,每个日志里面都有日期字符串,我需要将其转换为datetime格式。

问题是,这些日志里的字符串格式五花八门,有2017-05-25T05:27:30.313292255Z,有2016-07-01T00:00:00以及其他各种我还没有看到的格式。

开始我写了一长串的if else来判断格式,但是总有我漏掉的。

最后上网一查,发现dateutil.parser.parse。可以不用我们指定格式,直接将字符串转换为datetime格式。

注:我试了下"19/May/2017:04:10:06 +0000" 居然失败了- -!那可能这个函数只认识数字不认得字母吧。

3. 新手求教:python 时间格式转换

时间格式转换分为两种,时间转换为字符串和字符串转换为时间,具体代码例子如下:

1importdatetime
2importtime
3#日期转换为字符串,使用strftime()函数
4#time.strftime(format[,t])
5
6printdatetime.datetime.now()
7printdatetime.datetime.now().strftime("%Y-%m-%d
%H:%M:%S")
8printdatetime.datetime.now().strftime("%b
%d%Y%H:%M:%S")
9printdatetime.datetime.now().strftime("%c
%d%Y%H:%M:%S")
10#字符串转换为日期,使用strptime()函数
11t=(2009,2,17,8,3,38,1,48,0)
12t=time.mktime(t)
13printtime.strftime("%b%d%Y%H:%M:%S",time.gmtime(t))
14printtime.strftime("%Y-%m-%d%H:%M:%S",time.gmtime(t))

注:格式字符说明:
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
本地简化星期名称
%A
本地完整星期名称
%b
本地简化的月份名称
%B
本地完整的月份名称
%c
本地相应的日期表示和时间表示
%j
年内的一天(001-366)
%p
本地A.M.或P.M.的等价符
%U
一年中的星期数(00-53)星期天为星期的开始
%w
星期(0-6),星期天为星期的开始
%W
一年中的星期数(00-53)星期一为星期的开始
%x
本地相应的日期表示
%X
本地相应的时间表示
%Z
当前时区的名称
%%
%号本身

4. python的日期格式转换,比如str:'2017年3月4日',要怎么转换为datetime,一直转不过来,请教下大神。

#-*-coding:utf-8-*-
fromdatetimeimportdatetime

time="2017年04月27日"
#将str中的汉字换掉
time=time.replace(r'年','-').replace(r'月','-').replace(r'日','')
printtime#输出2017-04-27
printtype(time)#<type'str'>
restime=datetime.strptime(time,'%Y-%m-%d')
printrestime#输出结果:2017-04-2700:00:00
printtype(restime)#<type'datetime.datetime'>

方法应该还有其他!希望可以帮助到你!

5. python中,怎么把字符串转换为日期格式

用Python实现字符串和日期相互转换的方法,具体如下:
这里用的分别是time和datetime函数来处理
import
time,datetime//日期转化为字符串#
date
to
str//输出时间print
time.strftime("%Y-%m-%d
%X",
time.localtime())#str
to
date//字符串转化为日期t
=
time.strptime("2016
-
12
-
05",
"%Y
-
%m
-
%d")y,m,d
=
t[0:3]//输出时间print
datetime.datetime(y,m,d)

6. python时间转化

按照你的要求编写的程序如下(见图)

7. python 如何将字符串转化为datetime.date

比较省事的办法是用time模块的strptime方法来解析日期字符串成为时间对象,然后再把年月日部分提取出来,最后生成datetime.date对象。

#方法1,用time模块的strptime方法来解析日期字符串成为时间对象
importtime,datetime
date_str='2017-10-19'
fmt='%Y-%m-%d'
time_tuple=time.strptime(date_str,fmt)
year,month,day=time_tuple[:3]
a_date=datetime.date(year,month,day)
print(a_date,type(a_date))

#方法2,直接把日期字符串拆分转换成年/月/日对应的整数
importdatetime
date_str='2017-10-19'
print(datetime.date(*map(int,date_str.split('-'))))

8. python中如何把datetime.datetime转换成datetime.time

用Python实现字符串和日期相互转换的方法,具体如下:这里用的分别是time和datetime函数来处理 importtime,datetime //日期转化为字符串 #datetostr //输出时间 printtime.strftime("%Y-%m-%d%X",time.localtime()) #strtodate //字符串转化为日期 t=time.strptime("2016-12-05","%Y-%m-%d") y,m,d=t[0:3] //输出时间 printdatetime.datetime(y,m,d)

9. python数字怎么转变时间

5位数日期戳读取 .mat 文件处理里面数据时,发现里面的日期数据全部都是 “5位数” 数字,很不解;后来查到可以在excel中通过设置单元格调回标准日期格式,如下:选中日期戳,右键选择 “格式化单元格(Format Cells)”选择需要的日期格式,点击ok即可通过代码转成标准日期例如这个DataFrame中的日期,全部都是“日期戳”格式的,但我需要的是人能看懂的“标准日期”;确认起始日期首先需拿一个“日期戳”对应的时间(标准日期),减去这个日期戳,得出起始时间。获取起始时间:2018-05-02 对应的日期戳为:43222,接下来通过pandas 的Timedelta()和 to_datetime() 获取起始时间。可以看到起始日期为“1899-12-30”这样一来后续日期戳转标准日期,只需要在 “1899-12-30” 的基础上加 “日期戳”即可。批量转换首先定义一个函数用来进行转换:#定义转化日期戳的函数,stamp为日期戳def date(stamp):delta = pd.Timedelta(str(stamp)+'D')real_time = pd.to_datetime('1899-12-30') + deltareturn real_time然后针对DataFrame需要转换的列进行转换即可:

10. python 时间的格式转化,格式为20130415172500字符串转为datetime类型

python编程用datetime方法进行时间转换,代码如下:

$python
Python2.7.2+(default,Jul202012,22:12:53)
[gcc4.6.1]onlinux2
Type"help","right","credits"or"license"formoreinformation.
>>>importdatetime
>>>dtstr="20130415172559"
>>>dt=datetime.datetime.strptime(dtstr,"%Y%m%d%H%M%S")
>>>dt
datetime.datetime(2013,4,15,17,25,59)
>>>another_dt=dt+datetime.timedelta(seconds=2)
>>>another_dt
datetime.datetime(2013,4,15,17,26,1)
>>>
热点内容
文件夹取消折叠组 发布:2024-11-08 17:05:41 浏览:568
微信第一次支付密码是什么 发布:2024-11-08 17:05:21 浏览:577
国内免费云服务器腾讯 发布:2024-11-08 17:03:53 浏览:663
摩尔庄园脚本容易检测吗 发布:2024-11-08 16:54:47 浏览:755
易享服务器地址 发布:2024-11-08 15:55:59 浏览:752
爱奇艺的密码哪里看 发布:2024-11-08 15:52:45 浏览:533
安卓10和平板哪个更流畅 发布:2024-11-08 15:51:18 浏览:75
配置低也能玩的枪战游戏有哪些 发布:2024-11-08 15:41:59 浏览:169
python中文匹配 发布:2024-11-08 15:41:06 浏览:400
通分新算法 发布:2024-11-08 15:37:01 浏览:370