Python中各種時間格式轉換

2021-10-14 17:15:11 字數 4749 閱讀 4201

大家平時寫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

各種時間格式轉換 時間戳轉換

1 後端介面返回時間格式轉換成時間戳 例 2021 02 15t09 33 08.694 0000 方案1 const time 2021 02 15t09 33 08.694 0000 時間戳 new date time gettime 方案2 安裝moment import moment fro...

關於python下各種時間格式的轉換

今天遇到了乙個聊天的 bug,因為時間戳沒有精確到float型別導致時間順序錯亂,顯示錯誤和一些聊天記錄會被覆蓋。於是了解了一下python時間的一些顯示和轉換方式。python在遇到時間相關問題時候通常會用到以下幾種時間格式1。時間戳 int,float型別 2。元組 struct time型別 ...

python中的時間和時間格式轉換

import time time.struct time tm year 2012,tm mon 9,tm mday 15,tm hour 15,tm min 1,tm sec 44,tm wday 5,tm yday 259,tm isdst 0 print time.localtime 返回tu...