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

python时间函数和常用格式化 - 初级程序员的资料 - ITeye博客
博客分类:
使用之前import:
import time,datetime
下面的函数在python2.7里可以正常运行,但python2.4可能不支持某些方法。比如python2.4.3中报错:
AttributeError: type object 'datetime.datetime' has no attribute 'strptime'
格式化当前时间则为:
首选:time.strftime('%Y-%m-%d %H:%M:%S')
其次:datetime.datetime.strftime(datetime.d atetime.now(), '%Y-%m-%d %H:%M:%S')
最后:str(datetime.datetime.now())[:19]
获取日期差:
oneday = datetime.timedelta(days=1)today = datetime.date.today()yesterday
= datetime.date.today() - oneday
tomorrow = datetime.date.today() + oneday
获取今天零点的时间:
today_zero_time = datetime.datetime.strftime(today, '%Y-%m-%d %H:%M:%S')
print today_zero_time
获取时间差:
oneday = datetime.timedelta(days=1)
today_time = datetime.datetime.now()
yesterday_time = datetime.datetime.now() - oneday
tomorrow_time
= datetime.datetime.now() + oneday
注意时间是浮点数,带毫秒。如下:
print tomorrow_time 10:34:43.873844
那么要获取当前时间,需要格式化一下:
oneday = datetime.timedelta(days=1)
today_time = datetime.datetime.now()
yesterday_time = datetime.datetime.now() - oneday
tomorrow_time
= datetime.datetime.now() + oneday
tomorrow_time = datetime.datetime.strftime(today_time, '%Y-%m-%d %H:%M:%S')
运行结果如下所示:
print tomorrow_time 10:34:43
获取上个月最后一天:
last_month_last_day = datetime.date(datetime.date.today().year,datetime.date.today().month,1)-datetime.timedelta(1)
字符串格式转秒数:
expire_time = " 09:50:35"
d = datetime.datetime.strptime(expire_time,"%Y-%m-%d %H:%M:%S")
time_sec_float = time.mktime(d.timetuple())
print time_sec_float.0
注意python里获取到的是float类型的秒数,而不是整形。如果要获得整数,可以用int(time_sec_float)
秒数转字符串:
time_sec = time.time()
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time_sec))
python的时间转换函数搞得太抽象复杂,因此我包装了一个函数,传入字符串可以获取到时间的各种格式,传入秒数可以获取字符串格式时间(这个是很简单的),还传入两个字符串格式的时间,以计算他们的时间差。
#coding=gbk
import time, datetime
# 传入一个字符串格式的时间 14:31:23,可以得到各种格式的时间
class TIMEFORMAT:
def __init__(self, time_string=" 00:00:00"):
self.time_string = self._format_time_string(time_string)
def _format_time_string(self, time_string):
return time.strftime("%Y-%m-%d %H:%M:%S", self.get_struct(time_string))
def time_struct(self):
return self.get_struct(self.time_string)
def get_struct(self, time_string):
return time.localtime(self.get_seconds(time_string))
def seconds(self):
return self.get_seconds(self.time_string)
def get_seconds(self, time_string):
d = datetime.datetime.strptime(time_string, "%Y-%m-%d %H:%M:%S")
return time.mktime(d.timetuple())
def get_string(self, time_sec):
return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time_sec))
# 对于中国的时间,是 08:00:00
def check_diff_time(self, t1, t2):
sec1 = int(self.get_seconds(t1))
sec2 = int(self.get_seconds(t2))
if sec1 & sec2:
secdiff = sec1 - sec2
secdiff = sec2 - sec1
d = self.get_struct(self.get_string(secdiff))
day = d.tm_mday
hour = d.tm_hour
if d.tm_hour & 8:
hour = 24 + (d.tm_hour - 8)
hour = d.tm_hour - 8
:d.tm_year - 1970,
"month" :d.tm_mon
: day - 1,
: d.tm_min,
: d.tm_sec,
if __name__ == "__main__":
t1 = TIMEFORMAT(" 12:23:23")
t2 = TIMEFORMAT(" 22:23:23")
print t1.seconds
print t2.seconds
d = t1.check_diff_time(t1.time_string, t2.time_string)
print "%s 和 %s 时间差为:%s年%s月%s天%s小时%s分%s秒" %(t1.time_string, t2.time_string, d["year"], d["month"], d["day"], d["hour"], d["min"], d["sec"])
(919 Bytes)
下载次数: 18
浏览 54544
浏览: 396633 次
来自: 北京
压缩文件里面是空的....
成功!多谢
应该是国外的网站,被过滤了无法访问。你百度一下就可以看到很多教 ...
http://pyunit.sourceforge.net/p ...
现在可以了。thanks!lllt 写道这位哥们,这个写法根本 ...温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(10899)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'python编程_时间日期字符串转换_获取当前系统日期和时间_字符串转换成时间_时间转换成日期_import datetime 模块',
blogAbstract:'
python获取当前系统时间:
nowTime=time.localtime()
获取当前系统日期:
nowDate=datetime.datetime(nowTime[0],nowTime[1],nowTime[2])
日期格式转换:
baseTime=\"\" #转换成
mouth = baseTime[4:6]year = baseTime[0:4]day = baseTime[6:8]Destime = year +\"-\"+mouth+\"-\"+day
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:7,
publishTime:8,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:true,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}Python时间,日期,时间戳之间转换
1.将字符串的时间转换为时间戳
a = " 23:40:00"
将其转换为时间数组
import time
timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")
转换为时间戳:
timeStamp = int(time.mktime(timeArray))
timeStamp ==
2.字符串格式更改
如a = " 23:40:00",想改为 a = " 23:40:00"
方法:先转换为时间数组,然后转换为其他格式
timeArray = time.strptime(a, "%Y-%m-%d %H:%M:%S")
otherStyleTime = time.strftime("%Y/%m/%d %H:%M:%S", timeArray)
3.时间戳转换为指定格式日期:
利用localtime()转换为时间数组,然后格式化为需要的格式,如
timeStamp =
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
otherStyletime == " 23:40:00"
import datetime
timeStamp =
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M:%S")
otherStyletime == " 23:40:00"
4.获取当前时间并转换为指定日期格式
import time
获得当前时间时间戳
now = int(time.time())
->这是时间戳
转换为其他日期格式,如:"%Y-%m-%d %H:%M:%S"
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
import datetime
获得当前时间
now = datetime.datetime.now()
->这是时间数组格式
转换为指定的格式:
otherStyleTime = now.strftime("%Y-%m-%d %H:%M:%S")
5.获得三天前的时间
import time
import datetime
先获得时间数组格式的日期
threeDayAgo = (datetime.datetime.now() - datetime.timedelta(days = 3))
转换为时间戳:
timeStamp = int(time.mktime(threeDayAgo.timetuple()))
转换为其他字符串格式:
otherStyleTime = threeDayAgo.strftime("%Y-%m-%d %H:%M:%S")
注:timedelta()的参数有:days,hours,seconds,microseconds
6.给定时间戳,计算该时间的几天前时间:
timeStamp =
先转换为datetime
import datetime
import time
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
threeDayAgo = dateArray - datetime.timedelta(days = 3)
参考5,可以转换为其他的任意格式了本文讲的是Python中的日期时间处理详解_python,
Python中关于时间、日期的处理库有三个:time、datetime和Calendar,其中datetime又有datetime.date、datetime.time、datetime.datetime三个类。而时间又可以分为时间戳、本
Python中关于时间、日期的处理库有三个:time、datetime和Calendar,其中datetime又有datetime.date、datetime.time、datetime.datetime三个类。而时间又可以分为时间戳、本地时间和UTC时间(世界标准时间)。是不是听起来有点乱?那么他们相互之间有什么区别?有什么联系?又如何转换呢?
在time模块中,时间有三种表现形式:
时间戳,一般指Unix时间戳,是从1970年开始到现在的秒数。
本地时间的struct_time形式:一个长度为11的命名元组,第一位为年,第二位为月....
UTC时间的struct_time形式:一个长度为11的命名元组,类似于上个,只不过为UTC时间
其中后两者的类型一致,区别在于一个是本地时间(localtime),一个是utc时间。
各种时间形式的获取方式:
print("time stamp:", time.time())
# 时间戳:.829338
print("local time:", time.localtime())
# struct_time类型的本地时间
time.struct_time(tm_year=2016, tm_mon=11, tm_mday=15, tm_hour=14, tm_min=59, tm_sec=41, tm_wday=1, tm_yday=320, tm_isdst=0)
print("utc time:", time.gmtime())
# struct_time类型的utc时间
time.struct_time(tm_year=2016, tm_mon=11, tm_mday=15, tm_hour=6, tm_min=59, tm_sec=41, tm_wday=1, tm_yday=320, tm_isdst=0)
这里可以看出,本地时间(北京时间)和UTC时间相差8个小时。
各种时间形式的转换:
time_stamp = time.time()
local_time = time.localtime(time_stamp)# 时间戳转struct_time类型的本地时间
utc_time = time.gmtime(time_stamp)
# 时间戳转struct_time类型的utc时间
time_stamp_1 = time.mktime(local_time) # struct_time类型的本地时间转时间戳
time_stamp_2 = calendar.timegm(utc_time)# struct_time类型的utc时间转时间戳
print(time_stamp, time_stamp_1, time_stamp_2)
各种时间形式和字符串之间的转换:
print(time.ctime(time_stamp))
# 时间戳转字符串(本地时间字符串)
print(time.asctime(local_time))
# struct_time类型的本地时间转字符串
print(time.asctime(utc_time))
# struct_time类型的utc时间转字符串
# struct_time类型的本地时间转字符串:自定义格式
print(time.strftime("%Y-%m-%d, %H:%M:%S, %w", local_time))
# struct_time类型的utc时间转字符串:自定义格式
print(time.strftime("%Y-%m-%d, %H:%M:%S, %w", utc_time))
struct_time = time.strptime(", 15:32:12, 2", "%Y-%m-%d, %H:%M:%S, %w")
# 字符串转struct_time类型
datetime模块
接下来再看datetime模块。该模块中包含4个主要的类:
datetime.time:时间类,只包含时、分、秒、微秒等时间信息。
datetime.date:日期类,只包含年、月、日、星期等日期信息。
datetime.datetime:日期时间类,包含以上两者的全部信息。
datetime.timedelta:时间日期差值类,用来表示两个datetime之间的差值。
关于各个类的基本用法比较简单,建议看官方:datetime module
这里主要说一下datetime.datetime类的用法,其他两个的用法类似,只有轻微差别:
a_datetime_local = datetime.datetime.now() # 获取datetime.datetime类型的本地时间
a_datetime_utc = datetime.datetime.utcnow() # 获取datetime.datetime类型的utc时间
# datetime.datetime类型转字符串
print(a_datetime_local.strftime("%Y-%m-%d, %H:%M:%S, %w"))
# datetime.datetime类型转字符串
print(a_datetime_utc.strftime("%Y-%m-%d, %H:%M:%S, %w"))
a_datetime = datetime.datetime.strptime(", 15:32:12, 2", "%Y-%m-%d, %H:%M:%S, %w")
# 字符串转
datetime.datetime格式
datetime类型和时间戳、struct_time类型的相互转换
datetime.datetime和时间戳、struct_time之间,也能够相互转换:
time_stamp = a_datetime_local.timestamp()
# datetime类型转时间戳
print(time_stamp)
a_datetime_local = datetime.datetime.fromtimestamp(time.time())
# 时间戳转datetime.datetime类型的本地时间
a_datetime_utc = datetime.datetime.utcfromtimestamp(time.time())
# 时间戳转datetime.datetime类型的utc时间
print(a_datetime_local, a_datetime_utc)
print(a_datetime_local.timetuple())
# datetime类型转struct_time类型
print(a_datetime_utc.utctimetuple())
# datetime类型转struct_time类型
本文主要讲了各种时间、日期类型的基本用法,以及他们之间相互转换的方法,以及他们和字符串之间相互转换的方法。
老规矩,文中代码已上传至github:/xianhu/LearnPython
本站备份下载地址:http://xz.jb51.net:81/201611/yuanma/LearnPython(jb51.net).zip
以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索python
时间戳转日期
python 文本处理详解、python 日期处理、python处理日期格式、python 处理日期数据、日期及时间函数详解,以便于您获取更多的相关知识。
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
6款热门基础云产品6个月免费体验;2款产品1年体验;1款产品2年体验
开发者常用软件,超百款实用软件一站式提供
云栖社区()为您免费提供相关信息,包括
的信息,还有python 文本处理详解、python 日期处理、python处理日期格式、python 处理日期数据、日期及时间函数详解等
,所有相关内容均不代表云栖社区的意见!}

我要回帖

更多关于 python 日期格式转换 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信