python datetime模块 格式化字符串:strftime() strptime() timedelta

本文介绍了Python的datetime模块,包括strptime()和strftime()函数用于字符串和datetime对象之间的转换,以及timedelta对象表示时间差,并通过实例展示了如何计算时间差和未来时间。同时,还演示了如何将datetime对象转换为时间戳和从时间戳还原为时间字符串。
摘要由CSDN通过智能技术生成

1、函数介绍

  • strptime()是将传进来的字符串时间(第一个参数)按照指定格式(第二个参数)转换成datetime类型;字符串–>datetime
  • strftime()将传进来的datetime时间(第一个参数)按照指定格式(第二个参数)转换成字符串类型;datetime–>字符串

2、datetime.timedelta对象

timedalte 是datetime中的一个对象,该对象表示两个时间的差值

构造函数:

datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)

其中参数都是可选,默认值为0

  • timedelta.total_seconds()方法:返回该时间差 以为单位的值

3、用例

(1)把字符串转换成datetime对象

from datetime import datetime  #引入datetime模块

time= datetime.strptime('2018-4-19 11:19:59','%Y-%m-%d %H:%M:%S')   #把字符串转换成时间

print(type(time))

# <class 'datetime.datetime'>

(2)把datetime对象转化为字符串

#把日期转换成字符串

import datetime  #引入datetime模块

str = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')  #获取当前时间并转化成字符串

print(str)   #输出字符串信息

# 2021-07-10 16:28:44

(3)两个datetime对象的时间差值 – datetime.timedelta 对象

# -*- coding: UTF-8 -*-
# 时间diff
import datetime  #引入datetime模块
import time

if __name__ == '__main__':
    star_time = datetime.datetime.now()
    time.sleep(1)
    end_time = datetime.datetime.now()

    diff = end_time - star_time   # diff为datetime.timedelta对象

    days = diff.days
    print('days : %s' % days)

    seconds = diff.seconds
    print('seconds : %s' % seconds)

    microseconds = diff.microseconds
    print('microseconds : %s' % microseconds)

打印:

days : 0
seconds : 1
microseconds : 5117

(4)计算当前时间向后10小时的时间

import datetime
d1 = datetime.datetime.now()
print(d1.strftime('%Y-%m-%d %H:%M:%S'))
d2 = d1 + datetime.timedelta(hours=10)
print(d2.strftime('%Y-%m-%d %H:%M:%S'))

打印:

2021-07-10 16:57:18
2021-07-11 02:57:18

(5)datetime将datetime对象转换成时间字符串和时间戳

from datetime import datetime

# datetime对象转换成时间字符串
datetime_str = datetime.strftime(datetime.now(), '%Y-%m-%d %H:%M:%S')
print(datetime_str)
 
# datetime对象转换成时间戳
datetime_stamp = datetime.timestamp(datetime.now())
print(datetime_stamp)

打印:

2021-07-10 17:06:45
1625908005.921093

(6)datetime将时间戳转换成时间字符串

# 时间戳转datetime对象,再转时间字符串
datetime_stamp2 = 1625908005.921093
datetime_str2 = datetime.strftime(datetime.fromtimestamp(datetime_stamp2), '%Y-%m-%d %H:%M:%S')
print(datetime_str2)

打印:

2021-07-10 17:06:45
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python datetime模块是用于处理日期和时间的模块。它提供了各种类和函数来处理日期、时间、时间间隔、时区等。 datetime模块中最常用的类是datetime类,它表示一个日期和时间的对象。datetime类的构造函数可以接受年、月、日、时、分、秒和微秒等参数,也可以从字符串中解析出日期和时间。 下面是一些常用的datetime类的方法: - datetime.today():返回表示当前日期和时间的datetime对象。 - datetime.now():返回表示当前日期和时间的datetime对象,可选参数tz指定时区。 - datetime.strptime(date_string, format):将字符串解析为datetime对象,format指定字符串的格式。 - datetime.strftime(format):将datetime对象格式化字符串,format指定输出的格式。 - datetime.date():返回datetime对象的日期部分,即date对象。 - datetime.time():返回datetime对象的时间部分,即time对象。 - datetime.replace(year, month, day, hour, minute, second, microsecond):返回一个新的datetime对象,替换指定的年、月、日、时、分、秒和微秒。 - datetime.timedelta(days, seconds, microseconds, milliseconds, minutes, hours, weeks):表示一个时间间隔,可以用来进行日期的加减。 除了datetime类,还有date、time和timedelta等类,它们分别表示日期、时间和时间间隔。例如,date类的构造函数可以接受年、月、日等参数,可以从datetime对象中获取日期部分,还提供了strftimetimedelta等方法。time类和datetime类类似,但只表示时间部分。timedelta类表示时间间隔,可以进行加减运算。 datetime模块还提供了timezone类,用于表示时区信息。可以通过pytz模块获取时区信息,然后使用timezone类创建时区对象。datetime对象可以使用astimezone方法转换时区。 下面是一些常用的timezone类的方法: - timezone.utc:表示UTC时区。 - timezone(timedelta, name=None):表示偏移量为timedelta的时区,可选参数name指定时区的名称。 - pytz.timezone(name):获取名称为name的时区对象。 - tzinfo.utcoffset(dt):返回datetime对象dt在该时区下的UTC偏移量。 - tzinfo.dst(dt):返回datetime对象dt在该时区下的夏令时偏移量。 总之,datetime模块提供了丰富的功能和灵活的接口,可以方便地处理日期和时间相关的任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值