大家平时写Python程序的时候难免会遇到各种各样时间格式的转换,从时间戳转字符串?从字符串转Datetime格式等等,方法比较多,我觉得不太好记,而且也没必要记,语法嘛有个地方总结了,用的时候方便查阅即可。今天稍作总结,有不正确的地方希望大家提出建议,逐步改进^ ^
# _#_ coding:utf-8 _*_
import time,datetime
## 当前时间戳
timestamp_now = time.time()
date_now = time.ctime() #Tue Sep 20 15:29:00 2016
## 当前Datetime
datetime_now = datetime.datetime.now()
## 字符串时间
strtime_now_12 = time.strftime("%Y-%m-%d %I:%M:%S") # 当前12H字符串时间
strtime_now_24 = time.strftime("%Y-%m-%d %H:%M:%S") # 当前24H字符串时间
## 获得UTC时间
utc_time = datetime.datetime.utcnow()
# _#_ coding:utf-8 _*_
import time,datetime
timeStamp = time.time()
strTime = "2016-09-21 21:56:32"
Datetime = datetime.datetime.now()
## 时间戳转字符串
timeArray = time.localtime(timeStamp)
timeStamp2str = time.strftime("%Y-%m-%d %H:%M:%S", timeArray)
## 时间戳转Datetime
timeStamp2Dt = datetime.datetime.fromtimestamp(timeStamp)
## 字符串转时间戳
timeArray = time.strptime(strTime, "%Y-%m-%d %H:%M:%S")
str2timeStamp = time.mktime(timeArray)
## 字符串转Datetime
str2Dt = datetime.datetime.strptime(strTime,'%Y-%m-%d %H:%M:%S')
## Datetime转时间戳
Dt2timeStamp = time.mktime(Datetime.timetuple())
## Datetime转字符串
Dt2str = datetime.datetime.strftime(Datetime,'%Y-%m-%d %H:%M:%S')
## 北京时间转UTC时间
diff = datetime.timedelta(hours=8) #减去时差
utcTime = Datetime-diff
# _#_ coding:utf-8 _*_
import time,datetime
## 字符串格式转换为时间数组
stringTime = "2013-10-10 23:40:00"
timeArray = time.strptime(stringTime, "%Y-%m-%d %H:%M:%S")
print "年:%d" % timeArray.tm_year #2013
print "月:%d" % timeArray.tm_mon #10
print "日:%d" % timeArray.tm_mday #10
print "时:%d" % timeArray.tm_hour #23
print "分:%d" % timeArray.tm_min #40
print "秒:%d" % timeArray.tm_sec #0
print "星期:%d" % timeArray.tm_wday #3
print "一年中的第 %d 天" % timeArray.tm_yday #283
print "是否是夏令时:%d" % timeArray.tm_isdst #-1
# _#_ coding:utf-8 _*_
import time,datetime
dt = datetime.datetime.now()
print "星期简写:%s" % dt.strftime('%a') ## Fri
print "星期的全写:%s" % dt.strftime('%A') ## Friday
print "月份的简写:%s" % dt.strftime('%b') ## Sep
print "月份的全写:%s" % dt.strftime('%B') ## September
print "日期时间的字符串表示:%s" % dt.strftime('%c') ## 09/23/16 13:48:21
print "日在这个月中的天数:%s" % dt.strftime('%d') ## 23
print "微秒(范围[0,999999]):%s" % dt.strftime('%f') ## 746000
print "小时(24小时制,[0, 23]):%s" % dt.strftime('%H') ## 13
print "小时(12小时制,[0, 11]):%s" % dt.strftime('%I') ## 01
print "日在年中的天数 [001,366]:%s" % dt.strftime('%j') ## 267
print "月份([01,12]):%s" % dt.strftime('%m') ## 09
print "分钟([00,59]):%s" % dt.strftime('%M') ## 53
print "AM或者PM:%s" % dt.strftime('%p') ## PM
print "秒(范围为[00,61]):%s" % dt.strftime('%S') ## 03
print "当年的第几周(星期天作为周的第一天):%s" % dt.strftime('%U') ## 38
print "当年的第几周(星期一作为周的第一天):%s" % dt.strftime('%W') ## 38
print "今天在这周的天数([0, 6],6表示星期天):%s" % dt.strftime('%w') ## 5
print "日期字符串:%s" % dt.strftime('%x') ## 09/23/16
print "时间字符串:%s" % dt.strftime('%X') ## 13:58:41
print "2个数字表示的年份:%s" % dt.strftime('%y') ## 16
print "4个数字表示的年份:%s" % dt.strftime('%Y') ## 2016
print "与utc时间的间隔(如果是本地时间,返回空字符串):%s" % dt.strftime('%z') ## 2016
print "时区名称:%s" % dt.strftime('%Z') ## 2016
# _#_ coding:utf-8 _*_
import time,datetime
cur=datetime.datetime.now()
print "ISO格式的日期和时间是 %s" % cur.isoformat()
print "当前的年份是 %s" % cur.year
print "当前的月份是 %s" % cur.month
print "当前的日期是 %s" % cur.day
print "当前小时是 %s" % cur.hour
print "当前分钟是 %s" % cur.minute
print "当前秒是 %s" % cur.second
# _#_ coding:utf-8 _*_
import datetime
## 得到Datetime格式时间
threeDayAgo = (datetime.datetime.now() - datetime.timedelta(days = 3))
# _#_ coding:utf-8 _*_
import time,datetime
now = time.time()
# startDay:2016-09-20 00:00:00
startDay = now - (now % 86400) + time.timezone
# endDay:2016-09-20 23:59:59
endDay = startDay + 86399
# _#_ coding:utf-8 _*_
import datetime,time
today = datetime.date.today()
sunday = today - datetime.timedelta(today.weekday())
print sunday # 2016-09-19