python3 字符串 | 时间 | 日期之间的相互转换

Bertha 。 2024-04-19 16:29 145阅读 0赞

运行环境 : pyhton 3.6.0

在 python 中,日期类型 date 和日期时间类型 dateTime 是不能比较的。

(1)如果要比较,可以将 datetime 转换为 date,date 不能直接转换为 datetime

  1. import datetime
  2. now_time = datetime.datetime.now()
  3. now_date = now_time.date()
  4. print(now_time)
  5. print(now_date)
  6. # 输出
  7. """
  8. 2019-09-19 22:20:30.163409
  9. 2019-09-19
  10. """

(2)日期类型 date 转换为字符串 str

  1. import datetime
  2. now_date = datetime.datetime.now().date()
  3. str_now_date = str(now_date)
  4. print(now_date, type(now_date))
  5. print(str_now_date, type(str_now_date))
  6. # 输出
  7. """
  8. 2019-09-19 <class 'datetime.date'>
  9. 2019-09-19 <class 'str'>
  10. """

(3)字符串类型 str 转换为 dateTime 类型

  1. import datetime
  2. str_now_date = '2019-09-19 22:20:30'
  3. now_date = datetime.datetime.strptime(str_now_date, '%Y-%m-%d %H:%M:%S')
  4. print(now_date, type(now_date))
  5. # 输出
  6. """
  7. 2019-09-19 22:20:30 <class 'datetime.datetime'>
  8. """

(4)datetime 类型转为 str 类型

  1. import datetime
  2. now_time = datetime.datetime.now() # 2019-09-19 22:28:22.824015
  3. now_date = datetime.datetime.strftime(now_time, '%Y-%m-%d')
  4. print(now_date, type(now_date))
  5. # 输出
  6. """
  7. 2019-09-19 <class 'str'>
  8. """

(5)字符串类型 str 转换为 date 类型

  1. import datetime
  2. str_now_time = '2019-09-19'
  3. now_date = datetime.datetime.strptime(str_now_time, '%Y-%m-%d').date()
  4. print(now_date, type(now_date)) # 2019-09-19 <class 'datetime.date'>
  5. # 输出
  6. """
  7. 2019-09-19 <class 'datetime.date'>
  8. """

(6)另外 datetime 类型和 date 类型可以直接做 加 1 减 1 这种操作

  1. import datetime
  2. today = datetime.datetime.today().date()
  3. yestoday = today + datetime.timedelta(days=-1)
  4. tomorrow = today + datetime.timedelta(days=1)
  5. print(today) # 2019-09-19
  6. print(yestoday) # 2019-09-18
  7. print(tomorrow) # 2019-09-20
  8. # 输出
  9. """
  10. 2019-09-19 <class 'datetime.date'>
  11. """

发表评论

表情:
评论列表 (有 0 条评论,145人围观)

还没有评论,来说两句吧...

相关阅读