Coding-Notebook

Python 时间相关用法

相关函数功能转换示意图

pic_1

字符串转整数时间戳

import time

int(time.mktime(time.strptime('2013-10-10 23:40:00', "%Y-%m-%d %H:%M:%S")))
# 1381419600

整数时间戳转字符串

import time

time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(1557673200))
# '2019-05-12 23:00:00'

某一时间的前后几天

from datetime import datetime, timedelta

datetime.now() + timedelta(days = 1)

某一时间的前后几月

timedelta不支持月的单位,需要用dateutil

from datetime import datetime
from dateutil.relativedelta import relativedelta

datetime.now() + relativedelta(months = 1)

毫秒级处理

获得当前时间的毫秒时间戳

import datetime
datetime.datetime.now()
# datetime.datetime(2019, 7, 8, 21, 14, 37, 897386)

获得当前时间的毫秒字符串

import datetime
datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')

根据毫秒时间戳(小数)将时间转换为毫秒字符串

import datetime
datetime.datetime.fromtimestamp(1538271871.226226).strftime('%Y-%m-%d %H:%M:%S.%f')
# '2018-09-30 09:44:31.226226'

将毫秒字符串转换为时间格式

import datetime
datetime.datetime.strptime('2018-09-30 09:44:31.226226','%Y-%m-%d %H:%M:%S.%f')
# datetime.datetime(2018, 9, 30, 9, 44, 31, 226226)

datetime

当前与指定时间的差值

from datetime import datetime

time_gap = datetime.now() - datetime.strptime('2017-8-1 18:20:20', '%Y-%m-%d %H:%M:%S')
str(time_gap)

datetime.fromtimestamp(now_time)