python日期格式转换_python日期及时间格式转换

python脚本中经常会需要进行时间格式字符串和时间戳的转换,另外,也记一下datetime的用法。

用到time模块的地方都需要引入import time

字符串时间变成时间戳

match_time = '2018-05-22 08:30:00'

ans_time_stamp = time.mktime(time.strptime(match_time, "%Y-%m-%d %H:%M:%S"))

转换成的时间戳是float类型

时间戳转年月日时间样式的字符串

# time.tme() 得到的是float型时间戳

struct_time = time.localtime(time.time()) # 得到结构化时间格式

now_time = time.strftime("%Y-%m-%d %H:%M:%S", struct_time)

datetime格式变时间戳

用pymysql从数据库取出来的时间,如果不为空(记得判断是否为空)则是 datetime 类型,可以直接相减得到 datetime.timedelta 类型,该类型想变时间戳用total_seconds()函数。

delta_time = check_time - ipo_time

print(delta_time.total_seconds())

若是datetime 类型直接变时间戳用如下方法:

import datetime

import time

dtime = datetime.datetime.now()

print(dtime)

ans_time = time.mktime(dtime.timetuple())

print(ans_time)

字符串转别的时间格式

# Wed May 09 00:00:00 CST 2018 转 2018-05-09 00:00:00

time_str = 'Wed May 09 00:00:00 CST 2018'

dt = datetime.datetime.strptime(time_str, "%a %b %d %X %Z %Y")

直接从字符串中提取月日

import datetime

a = '2018-10-03 00:55:00'

b = datetime.datetime.strptime(a, '%Y-%m-%d %H:%M:%S').strftime('%m-%d')

得到今天昨天日期

today = datetime.date.today()

yesterday = today - datetime.timedelta(days=1)

# 若要转成字符串还需要用str()

得到某月或某年

tmp_time = datetime.date(2018, 7, 20)

tmp_time.month

tmp_time.year

得到上个月

>>> import datetime

>>> today = datetime.date.today()

>>> first = today.replace(day=1)

>>> first

datetime.date(2018, 10, 1)

>>> last_month = first - datetime.timedelta(days=1)

>>> print(last_month.strftime("%Y%m"))

201809

得到下个月的同一日

import datetime

from dateutil.relativedelta import relativedelta

today = datetime.date.today()

next_month_day = today + relativedelta(months = 1)

print(next_month_day)

参考:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值