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

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值