time时间格式转换

在写项目的时候经常会用到日期格式,以及它们之间相互的转化。

常用到的日期数据格式有:strdatetime.datetimedatetime.date

在使用的时候首先导入 datetime 模块:

时间的格式转换/时区转换

import time
from datetime import datetime, timedelta

# from pics.base import util

datetime_now = datetime.now()
time_time = time.time()
time_local = time.localtime()
datetime_utcnow = datetime.utcnow()

# 本地时间
print(datetime_now)  # 2019-07-08 11:32:11.738098
print(time_time)        # 1562556731.738098
print(time.strftime("%Y-%m-%d %H:%M:%S",time_local))   # time.struct_time(tm_year=2019, tm_mon=7, tm_mday=8, tm_hour=11, tm_min=48, tm_sec=56, tm_wday=0, tm_yday=189, tm_isdst=0)
time_time_date = datetime.fromtimestamp(time_time)
print(time_time_date)   # 2019-07-08 11:34:33.822897

# 零时区 # 格林威治时间
print(datetime_utcnow)  # 2019-07-08 03:32:11.738098

# 本地时间的昨天明天
yestday = datetime_now - timedelta(days=1)
tomorrow = datetime_now + timedelta(days=1)
print(yestday)   # 2019-07-07 11:36:08.371032
print(tomorrow)     # 2019-07-09 11:36:08.371032

# 有效期的到期日
expired_at = int(time.time()/86400)*86400 + 86400 * 720
print(expired_at)  # 1624752000
print(datetime.fromtimestamp(expired_at))  # 2021-06-27 08:00:00


# 时区转换 (零时区转为东八区)
from datetime import datetime, timedelta

now_time = datetime.utcnow()  # 2019-07-08 10:54:04.376723

utc_time = now_time + timedelta(hours=8)  # UTC只是比北京时间提前了8个小时,所以零时区时间加上八小时

utc_time = utc_time.strftime("%Y-%m-%d %H:%M:%S")  # 2019-07-08 18:54:04

当前时间

now = datetime.now()
或者
import time
t1 = time.time()
t2 = time.time()
# 计算耗时操作
t2 - t1 = 耗时

零时区

utcnow = datetime.utcnow()
print('世界标准时间:', utcnow)

指定时间

dt = datetime(2017, 5, 23, 12, 20)
print('指定日期:', dt)
print(type(dt))

时间戳

dt = datetime.timestamp(dt)
print(dt)
print(type(dt))

str转datetime.datetime

`lv_1 = "2017-05-23"`
startTime = datetime.strptime(lv_1, '%Y-%m-%d')
print(startTime)
print(type(startTime))

datetime-->str   		`strftime`表示从时间转为字符串,中间的`f`表示`from`

str-->datetime		`strptime`表示从字符串转换到时间

order_id = timezone.now().strftime('%Y%m%d%H%M%S') + ('%09d' % user.id)

datetime.datetime转datetime.date

endTime = datetime.date(startTime)
print(endTime)
print(type(endTime))

运行结果:

当前时间: 2019-03-28 17:19:11.498322
世界标准时间: 2019-03-28 09:19:11.498322
指定日期: 2017-05-23 12:20:00
<class 'datetime.datetime'>
1495513200.0
<class 'float'>
2017-05-23 00:00:00
<class 'datetime.datetime'>
2017-05-23

<class ‘datetime.date’>

原文:https://blog.csdn.net/apollo_miracle/article/details/88873606

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python 的 time 模块提供了多种方式来处理时间和日期。可以使用 time 模块中的 strftime() 函数将时间格式化为特定的字符串格式。 strftime() 函数的语法如下: ```python strftime(format, t) ``` 其中,format 是时间格式字符串,t 是时间元组(struct_time)。 以下是一个简单的例子,将当前时间转换为指定格式的字符串: ```python import time current_time = time.localtime() # 获取当前时间 formatted_time = time.strftime("%Y-%m-%d %H:%M:%S", current_time) # 格式化时间 print(formatted_time) ``` 输出结果如下所示: ``` 2021-09-15 16:30:00 ``` 在这个例子中,我们使用了 %Y、%m、%d、%H、%M 和 %S 这些占位符来表示年份、月份、日期、小时、分钟和秒。你可以根据自己的需求调整这些占位符。 同时,还可以使用 strptime() 函数将字符串转换为时间元组,其语法如下: ```python strptime(date_string, format) ``` 其中,date_string 是要转换的字符串,format 是时间格式字符串。 以下是一个简单的例子,将字符串转换为时间元组: ```python import time date_string = "2021-09-15 16:30:00" time_tuple = time.strptime(date_string, "%Y-%m-%d %H:%M:%S") print(time_tuple) ``` 输出结果如下所示: ``` time.struct_time(tm_year=2021, tm_mon=9, tm_mday=15, tm_hour=16, tm_min=30, tm_sec=0, tm_wday=2, tm_yday=258, tm_isdst=-1) ``` 在这个例子中,我们使用了与上面相同的时间格式字符串 "%Y-%m-%d %H:%M:%S" 来表示字符串的时间格式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值