mysql timestamp 与python 的timestamp
1、
import time
time.strftime('%Y%m%d %H:%M:%S')
但是mysql数据库的跟python的有些不同
【时间戳转格式化时间】
from_unixtime(createtime, '%Y%m%d %H:%i:%s')
【格式化时间转时间戳】
方法① 如果我们已有的时间已经是标准格式 2019-08-27 07:01:04
我们可以直接unix_timestamp('2019-08-27 07:01:04')==1566860464
如果我们的时间不是标准格式,比如createtime='20190827 07:01:04'
我们需要先转换为标准时间,使用str_to_date,就会转化为date,这个是标准格式
str_to_date('20190827 07:01:04','%Y%m%d %H:%i:%s') = 2019-08-27 07:01:04
然后再套一层unx_timestamp(str_to_date('20190827 07:01:04','%Y%m%d %H:%i:%s') ) 就可以转化为时间戳了
2、time模块
time模块的标准形式是时间元祖,即
time.localtime()
time.struct_time(tm_year=2019, tm_mon=12, tm_mday=6, tm_hour=15, tm_min=33, tm_sec=47, tm_wday=4, tm_yday=340, tm_isdst=0)
或者
time.time()
1575617657.7714365 标准时间戳
所以如果我们要获取年、月或者周几,或者几号,可以使用time.strptime('19710101','%Y%m%d'),获取时间元祖,然后再得到需要的部分
如果我们要变成时间戳,则使用time.mktime(时间元组),可以转化为时间戳
如果要转化日期格式,可以先将日期转为标准的时间元祖,再转为我们需要的格式 time.strftime('%Y-%m-%d',time.strptime('19710101','%Y%m%d'))
3、datetime模块,标准形式是一个datetime.datetime元祖
1获取当前时间:datetime.datetime.now().strftime('%Y%m%d')
2最重要的最用,是可以用来进行时间的相加减
比如,20190101减7天是几号?
获取标准datetime形式: date = datetime.datetime.strptime('20190101', '%Y%m%d')
获取时间间隔 delta = datetime.timedelta(days=7)
date-delta 得到 datetime.datetime(2018, 12, 25, 0, 0)
转化为字符串(date-delta).strftime('%Y%m%d')