Python中各种时间格式转换

大家平时写Python程序的时候难免会遇到各种各样时间格式的转换,从时间戳转字符串?从字符串转Datetime格式等等,方法比较多,我觉得不太好记,而且也没必要记,语法嘛有个地方总结了,用的时候方便查阅即可。今天稍作总结,有不正确的地方希望大家提出建议,逐步改进^ ^

1. 获取三种格式时间

# _#_ 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()

2. 三种格式时间转换

# _#_ 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

3. 字符串时间相关操作

# _#_ 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

4. 格式字符串

# _#_ 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

5. Datetime时间相关操作

# _#_ 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

6. 其他相关操作

(1)获得三天前的时间 (Datetime格式)

# _#_ coding:utf-8 _*_  
import datetime

## 得到Datetime格式时间
threeDayAgo = (datetime.datetime.now() - datetime.timedelta(days = 3))

(2)直接获得当天时间段 (时间戳格式)

# _#_ 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

(3)获得本周开始时间 (Date格式)

# _#_ coding:utf-8 _*_  
import datetime,time

today = datetime.date.today()
sunday = today - datetime.timedelta(today.weekday())
print sunday # 2016-09-19

 

你可能感兴趣的:(Python,python)