Python之datetime模块日期操作,日期与时间戳相互转换

在实际应用开发中,往往会涉及很多的日期的操作及日期与时间戳的相互转换,如:

  • 记录用户的操作时间如评论时间,下单时间,发表文件时间等
  • 记录某些功能的执行时间
  • 一些日志的记录
  • 其他

在Python中提供了一些内置模块用于操作日期操作和转换,time模块与datetime模块,其中datetime模块是对time模块的重新封装,所以建议使用datetime模块。

①获取当前日期与时间戳

from datetime import datetime


# 构造一个datetime对象
now_time = datetime.now()

# 格式化时间字符串,输出格式化后的当前日期字符串,下面的格式为 2020-10-19 15:16:20
date_time = now_time.strftime('%Y-%m-%d %H:%M:%S')

# 获得当前的时间戳
timer = now_time.timestamp()

②常见的获取日期的其他信息

from datetime import datetime


# 以当前时间构造一个datetime对象
now_time = datetime.now()

# 获取年份
year = now_time.year

# 获取月份
month = now_time.month

# 获取日期
day = now_time.day

# 获取小时
hour = now_time.hour

# 获取分钟
minute = now_time.minute

# 获取秒
second = now_time.second

# 返回星期几,其中星期一==0 星期二==1 ... 星期日==6
week = now_time.weekday()

# 返回星期几,其中星期一==1 星期二==2 ... 星期日==7
week = now_time.isoweekday()

# 返回一个元组,表示当前datetime对象的年,该年过了多少周,该周的第几天
print(now_time.isocalendar())

③根据指定日期转成时间戳

from datetime import datetime


# 指定日期
date_time = '2020-10-19 15:16:26'

# 根据指定日期构造一个datetime对象
date_obj = datetime.fromisoformat(date_time)

# 返回时间戳,如果想精确到秒,可转换成int类型
timer = date_obj.timestamp()

④根据时间戳转成日期字符串

from datetime import datetime


# 指定时间戳
timer = 1603954865

# 根据时间戳构造datetime对象
date_obj = datetime.fromtimestamp(timer)

# 格式化日期字符串
date = date_obj.strftime('%Y-%m-%d %H:%M:%S')

⑤时间的加减

from datetime import datetime, timedelta


# datetime对象
now_time = datetime.now()

# 加多少天
now_time += timedelta(days=1)

# 加多少秒
now_time += timedelta(seconds=300)

# 加多少小时
now_time += timedelta(hours=1)

# 加多少分钟
now_time += timedelta(minutes=1)


# 减时间把上面+改成减即可
# 格式化日期或时间戳可根据④中代码转换即可

至此涵盖了一些常用的操作,掌握后可应对大部分开发了。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值