经常获得了一个用户提交的当前日期,我们需要以这个日期为依据返回它的前一天、后一天的日期或者转换操作等。用Python可以非常简单的解决这些关于日期计算的问题
不管何时何地,只要我们编程时遇到了跟时间有关的问题,都要想到 datetime 和 time 标准库模块,今天我们就用它内部的方法,详解python操作日期和时间的方法。
1.将字符串的时间转换为时间戳
代码如下:
方法:
a = “2013-10-10 23:40:00”
#将其转换为时间数组
import time
timeArray = time.strptime(a, “%Y-%m-%d %H:%M:%S”)
#转换为时间戳:
timeStamp = int(time.mktime(timeArray))
timeStamp == 1381419600
a = “2013-10-10 23:40:00”
#将其转换为时间数组
import time
timeArray = time.strptime(a, “%Y-%m-%d %H:%M:%S”)
#转换为时间戳:
timeStamp = int(time.mktime(timeArray))
timeStamp == 1381419600
2.格式更改
如a = “2
来源gaodai.ma#com搞##代!^码@网
013-10-10 23:40:00″,想改为 a = “2013/10/10 23:40:00”
方法:先转换为时间数组,然后转换为其他格式
代码如下:
timeArray = time.strptime(a, “%Y-%m-%d %H:%M:%S”)
otherStyleTime = time.strftime(“%Y/%m/%d %H:%M:%S”, timeArray)
otherStyleTime = time.strftime(“%Y/%m/%d %H:%M:%S”, timeArray)
3.时间戳转换为指定格式日期
方法一:利用localtime()转换为时间数组,然后格式化为需要的格式,如:
代码如下:
timeStamp = 1381419600
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime(“%Y-%m-%d %H:%M:%S”, timeArray)
otherStyletime == “2013-10-10 23:40:00”
timeArray = time.localtime(timeStamp)
otherStyleTime = time.strftime(“%Y-%m-%d %H:%M:%S”, timeArray)
otherStyletime == “2013-10-10 23:40:00”
方法二:
代码如下:
import datetime
timeStamp = 1381419600
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
otherStyleTime = dateArray.strftime(“%Y-%m-%d %H:%M:%S”)
otherStyletime == “2013-10-10 23:40:00”
timeStamp = 1381419600
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
otherStyleTime = dateArray.strftime(“%Y-%m-%d %H:%M:%S”)
otherStyletime == “2013-10-10 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)
#获得当前时间时间戳
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”)
#获得当前时间
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
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 = 1381419600
#先转换为datetime
import datetime
import time
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
threeDayAgo = dateArray – datetime.timedelta(days = 3)
#参考5,可以转换为其他的任意格式了
#先转换为datetime
import datetime
import time
dateArray = datetime.datetime.utcfromtimestamp(timeStamp)
threeDayAgo = dateArray – datetime.timedelta(days = 3)
#参考5,可以转换为其他的任意格式了
7、用Python计算昨天和明天的日期
代码如下:
>>> import datetime #导入日期时间模块
>>> today = datetime.date.today() #获得今天的日期
>>> print today #输出今天日期
2014-01-04
>>> yesterday = today – datetime.timedelta(days=1) #用今天日期减掉时间差,参数为1天,获得昨天的日期
>>> print yesterday
2014-01-03
>>> tomorrow = today + datetime.timedelta(days=1) #用今天日期加上时间差,参数为1天,获得明天的日期
>>> print tomorrow
2014-01-05
>>>
>>> print “昨天:%s, 今天:%s, 明天:%s” % (yesterday, today, tomorrow) #字符串拼接在一起输出,这3天的日期
>>> today = datetime.date.today() #获得今天的日期
>>> print today #输出今天日期
2014-01-04
>>> yesterday = today – datetime.timedelta(days=1) #用今天日期减掉时间差,参数为1天,获得昨天的日期
>>> print yesterday
2014-01-03
>>> tomorrow = today + datetime.timedelta(days=1) #用今天日期加上时间差,参数为1天,获得明天的日期
>>> print tomorrow
2014-01-05
>>>
>>> print “昨天:%s, 今天:%s, 明天:%s” % (yesterday, today, tomorrow) #字符串拼接在一起输出,这3天的日期
昨天:2014-01-03, 今天:2014-01-04, 明天:2014-01-05
8、python里使用time模块来获取当前的时间
代码如下:
#!/usr/bin/python
import time
print (time.strftime(“%H:%M:%S”))
## 12 hour format ##
print (time.strftime(“%I:%M:%S”))
#:输出
#18:11:30
#6:11:30
import time
print (time.strftime(“%H:%M:%S”))
## 12 hour format ##
print (time.strftime(“%I:%M:%S”))
#:输出
#18:11:30
#6:11:30
9、打印出当前的日期的python程序
代码如下:
!/usr/bin/python
import time
## dd/mm/yyyy格式
print (time.strftime(“%d/%m/%Y”))
#输出:
11/03/2014
以上就是python操作日期和时间的方法的详细内容,更多请关注gaodaima搞代码网其它相关文章!