美文网首页Python全栈Python
Python时间包datetime的使用

Python时间包datetime的使用

作者: InsaneLoafer | 来源:发表于2021-08-24 08:08 被阅读0次

目录

  • datetime包的常用功能
  • datetime包中的常用方法
  • python的常用时间格式化符号

认识datetime包

  • 日期与时间的结合体-date and time
  • 获取当前时间
  • 获取时间间隔
  • 将时间对象转成时间字符串
  • 将字符串转成时间类型

获取当前时间

  • 导入包与模块:

    • from datetime import datetime
    • import datetime
  • 使用方法:

    • datetime.now()
    • datetime.datetime.now() (today)
  • 例子:返回当前年月日时分秒毫秒的datetime对象

In [1]: import datetime

In [2]: datetime.datetime.now()
Out[2]: datetime.datetime(2021, 8, 20, 21, 26, 31, 333349)

获取时间间隔

  • 导入包
    • from datetime import datetime
    • from datetime import timedelta
  • 使用方法:
    • timeobj = timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, week=0)
  • 例子:返回时间间隔的datetime对象
In [3]: from datetime import datetime

In [4]: from datetime import timedelta

In [6]: before_one_day = timedelta(days=1)

In [7]: yestoday = datetime.now() - before_one_day

In [8]: yestoday
Out[8]: datetime.datetime(2021, 8, 19, 21, 30, 27, 315684)

时间对象转字符串

  • 获取时间对象∶
    • from datetime import datetime
    • now = datetime.now()
  • 时间转字符串:
    • date str = now.strftime(format)
  • 例子:符合时间格式的字符串
In [10]: from datetime import datetime

In [11]: date = datetime.now()

In [12]: str_date = date.strftime('%Y-%m-%d %H:%M:%S')

In [13]: str_date
Out[13]: '2021-08-20 21:39:26'

时间字符串转时间类型

  • 获取时间模块:
    • from datetime import datetime
  • 时间字符串转时间类型:
    • datetime.strptime(tt, format)
  • 参数介绍·
    • tt : 符合时间格式的字符串
    • format : tt时间字符串匹配规则

注意:format和字符串中的格式要一致

In [14]: from datetime import datetime

In [15]: str_date = '2021-08-20 19:12:30'

In [16]: date_obj = datetime.strptime(str_date, '%Y-%m-%d %H:%M:%S')

In [17]: date_obj
Out[17]: datetime.datetime(2021, 8, 20, 19, 12, 30)

时间格式符




实战

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# @Time     : 2021/8/20 21:32
# @Author   : InsaneLoafer
# @File     : package_datetime.py

from datetime import datetime
from datetime import timedelta

now = datetime.now()
print(now, type(now))
now_str = now.strftime('%Y-%m-%d %H:%M:%S')
print(now_str, type(now_str))
now_obj = now.strptime(now_str, '%Y-%m-%d %H:%M:%S')
print('====')
print(now_obj, type(now_obj))

three_days = timedelta(days=3)
after_three_day = now + three_days
print(after_three_day)
print('-------')
after_three_day_str = after_three_day.strftime('%Y/%m/%d %H:%M:%S')
before_three_days = now - three_days
print(before_three_days)

one_hour = timedelta(hours=1)
before_one_hour = now - one_hour
print(before_one_hour)

2021-08-20 21:59:30.253475 <class 'datetime.datetime'>
2021-08-20 21:59:30 <class 'str'>
====
2021-08-20 21:59:30 <class 'datetime.datetime'>
2021-08-23 21:59:30.253475
-------
2021-08-17 21:59:30.253475
2021-08-20 20:59:30.253475

Process finished with exit code 0

相关文章

网友评论

    本文标题:Python时间包datetime的使用

    本文链接:https://www.haomeiwen.com/subject/kbdxiltx.html