Python 時間戳及字串轉換

2021-09-25 21:17:13 字數 3230 閱讀 3326

目錄

時間轉字串

字串轉時間

使用time模組下的strptime函式

time.struct_time說明

使用datetime模組下的datetime類

綜合範例

#! /usr/bin/env python

# -*- coding: utf-8 -*-

# .__author__. = "lily yu"

# .date.: 2017/7/9

import time

# 把時間轉成字串

today = time.strftime('%y%m%d', time.localtime(time.time())) # 輸出是「20170709」

datetime = time.strftime('%y%m%d_%h%m%s', time.localtime(time.time())) # 輸出是「20170709_184921」

am_str = '6/18/2017 9:04:42'

sttemp = time.strptime(am_str, "%m/%d/%y %h:%m:%s")

print(sttemp)

# 輸出結果是 time.struct_time(tm_year=2017, tm_mon=6, tm_mday=18, tm_hour=9, tm_min=4, tm_sec=42, tm_wday=6, tm_yday=169, tm_isdst=-1)

格式說明:

%y  year with century as a decimal number.             # 年份

%m month as a decimal number [01,12]. # 月份

%d day of the month as a decimal number [01,31]. # 每月的幾號

%h hour (24-hour clock) as a decimal number [00,23]. # 24小時制

%m minute as a decimal number [00,59]. # 分鐘數

%s second as a decimal number [00,61]. # 秒數

%z time zone offset from utc. # 時區

%a locale's abbreviated weekday name. # 星期幾的縮寫

%a locale's full weekday name. # 星期幾的全稱

%b locale's abbreviated month name. # 月份的縮寫

%b locale's full month name. # 月份的全稱

%i hour (12-hour clock) as a decimal number [01,12]. # 12小時制

%p locale's equivalent of either am or pm. # 上午 或 下午

再來乙個例子:

sttemp = time.strptime("30 nov 00", "%d %b %y")

print(sttemp)

輸出結果是

time.struct_time(tm_year=2000, tm_mon=11, tm_mday=30, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=3, tm_yday=335, tm_isdst=-1)

沒有的部分預設為零。

int tm_sec; /* 秒 – 取值區間為[0,59] */

int tm_min; /* 分 - 取值區間為[0,59] */

int tm_hour; /* 時 - 取值區間為[0,23] */

int tm_mday; /* 乙個月中的日期 - 取值區間為[1,31] */

int tm_mon; /* 月份(從一月開始,0代表一月) - 取值區間為[0,11] */

int tm_year; /* 年份,其值等於實際年份減去1900 */

int tm_wday; /* 星期 – 取值區間為[0,6],其中0代表星期一,6代表星期天,以此類推 */

int tm_yday; /* 從每年的1月1日開始的天數 – 取值區間為[0,365],其中0代表1月1日,1代表1月2日,以此類推 */

int tm_isdst; /* 夏令時識別符號,實行夏令時的時候,tm_isdst為正。不實行夏令時的時候,tm_isdst為0;不了解情況時,tm_isdst()為負。

import datetime  # python3直譯器自帶datetime模組

strtime = 'sun, 18 jun 2017 06:12:08 gmt'

gmt_format = '%a, %d %b %y %h:%m:%s gmt'

clstime = datetime.datetime.strptime(strtime, gmt_format)

print(clstime) # 輸出結果是「2017-06-18 06:12:08」

這段**是字串先轉為時間格式,時間格式再轉為字串

pm_str = '6/18/2017 9:52:37 pm'

sttemp = time.strptime(pm_str, "%m/%d/%y %i:%m:%s %p")

print(sttemp)

str_time = time.strftime("%m-%d-%y_%h%m%s", sttemp)

print(str_time)

sttemp的輸出結果是

time.struct_time(tm_year=2017, tm_mon=6, tm_mday=18, tm_hour=21, tm_min=52, tm_sec=37, tm_wday=6, tm_yday=169, tm_isdst=-1)

str_time的輸出結果是 06-18-2017_215237

Python 時間戳 字串 時間 轉換

平時對於時間的處理經常使用python的time和datetime模組,但是用來多次還是對其中的時間戳,字串和時間轉換應用的不太熟練,時間長了不使用就理不清楚,為此整理成文。時間戳,時間,字串之間的關係整理如下圖 時間戳 time.time 返回當前時間戳 seconds time.time tim...

python 時間戳 時間字串轉換

使用time和datetime包進行轉換。環境python2.7.13。gmt 格林威治時間,bjt 北京時間。時間戳轉為時間字串 coding utf 8 時間戳 gmt 轉化為字串 bjt import time import datetime timestamp 1522165684 時間戳是...

Python時間,字串,時間戳之間轉換

1.將字串的時間轉換為時間戳 import time a 2018 04 27 17 49 00 轉化為陣列 timearray time.strptime a,y m d h m s 轉換為時間戳 timestamp int time.mktime timearray 1524822540 2.字...