sql datetime转字符串_datetime的用法,时间戳转换

385c0e2effe9390134528d692f375f54.png

点击“蓝字”关注,一起进阶共同成长

datetime用做日期和时间的管理和转换。

获取当前时间

import timefrom datetime import datetime, timedelta# 返回datetime.datetime类型case1 = datetime.now()print(f'case1: {case1}')print(f'case1-1: {case1.year, case1.month, case1.day}')# 格式化日期,返回str类型case2 = datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')print(f'case2: {case2}')case1: datetime.datetime(2020, 12, 13, 16, 5, 57, 448449)case1-1: (2020, 12, 13)case2: ('2020-12-13 16:05:57.448602')

格式化datetime.datetime类型的对象

# 返回strcase3 = datetime.strftime(datetime.now(), '%Y-%m-%d %H:%M:%S')print(f'case3: {case3}')case3: '2020-12-13 16:05:57'

strftime的格式符参考以下表格

格式符说明
%a星期的英文单词的缩写:如星期一, 则返回 Mon
%A星期的英文单词的全拼:如星期一,返回 Monday
%b月份的英文单词的缩写:如一月, 则返回 Jan
%B月份的引文单词的缩写:如一月, 则返回 January
%c返回datetime的字符串表示,如03/08/15 23:01:26
%d返回的是当前时间是当前月的第几天
%f微秒的表示:范围: [0,999999]
%H以24小时制表示当前小时
%I以12小时制表示当前小时
%j返回 当天是当年的第几天 范围[001,366]
%m返回月份 范围[0,12]
%M返回分钟数 范围 [0,59]
%P返回是上午还是下午–AM or PM
%S返回秒数 范围 [0,61]。。。手册说明的
%U返回当周是当年的第几周 以周日为第一天
%W返回当周是当年的第几周 以周一为第一天
%w当天在当周的天数,范围为[0, 6],6表示星期天
%x日期的字符串表示 :03/08/15
%X时间的字符串表示 :23:22:08
%y两个数字表示的年份 15
%Y四个数字表示的年份 2015
%z与utc时间的间隔 (如果是本地时间,返回空字符串)
%Z时区名称(如果是本地时间,返回空字符串)

获取当前的UTC时间

case4 = datetime.utcnow()print(f'case4: {case4}')case4: 2020-12-13 08:05:57.448735

获取一个时间之前或者之后一段时间后的时间,使用timedelta可以很方便的实现。

case6 = case1 + timedelta(days=1)# case1需为datetime类型print(f'type(timedelta(days=1))-> {type(timedelta(days=1))}')print(f'case6: {case6}')type(timedelta(days=1))-> 'datetime.timedelta'>case6: 2020-12-14 16:05:57.448449

下面为字符串时间和时间戳的互相转换

# 字符串时间转时间戳def time2stamp(t):    time_array = time.strptime(t, '%Y-%m-%d %H:%M:%S')    print(type(time_array), '->', time_array)    timestamp = time.mktime(time_array)    return timestamp# 当前时间转时间戳def get_now_stamp():    now_time = datetime.now()    return time.mktime(now_time.timetuple())# 时间戳转时间def stamp2time(timestamp):    return datetime.fromtimestamp(timestamp)if __name__ == '__main__':    print('->', time2stamp('2020-12-10 23:34:30'))    print('->', get_now_stamp())    print('->', stamp2time(1607614470))<class 'time.struct_time'> -> time.struct_time(tm_year=2020, tm_mon=12, tm_mday=10, tm_hour=23, tm_min=34, tm_sec=30, tm_wday=3, tm_yday=345, tm_isdst=-1)-> 1607614470.0-> 1607848078.0-> 2020-12-10 23:34:30

19a26a88c25f628991a90a403a07ce95.png

欢迎留言和我分享,我会第一时间给你反馈

a277cb13dd56c60dacb834718052ae03.gif

长按关注

一起进阶

  Do Hard  

f58dd1824fe8af08ab303c2e2a99ba79.png 01a3bfb79012c38b6dc47f4f74028923.png  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值