Python datetime / time 转换

from datetime import datetime
import time

#-------------------------------------------------
# conversions to strings
#-------------------------------------------------
# datetime object to string
dt_obj = datetime(2008, 11, 10, 17, 53, 59)
date_str = dt_obj.strftime("%Y-%m-%d %H:%M:%S")
print date_str

# time tuple to string
time_tuple = (2008, 11, 12, 13, 51, 18, 2, 317, 0)
date_str = time.strftime("%Y-%m-%d %H:%M:%S", time_tuple)
print date_str

#-------------------------------------------------
# conversions to datetime objects
#-------------------------------------------------
# time tuple to datetime object
time_tuple = (2008, 11, 12, 13, 51, 18, 2, 317, 0)
dt_obj = datetime(*time_tuple[0:6])
print repr(dt_obj)

# date string to datetime object
date_str = "2008-11-10 17:53:59"
dt_obj = datetime.strptime(date_str, "%Y-%m-%d %H:%M:%S")
print repr(dt_obj)

# timestamp to datetime object in local time
timestamp = 1226527167.595983
dt_obj = datetime.fromtimestamp(timestamp)
print repr(dt_obj)

# timestamp to datetime object in UTC
timestamp = 1226527167.595983
dt_obj = datetime.utcfromtimestamp(timestamp)
print repr(dt_obj)

#-------------------------------------------------
# conversions to time tuples
#-------------------------------------------------
# datetime object to time tuple
dt_obj = datetime(2008, 11, 10, 17, 53, 59)
time_tuple = dt_obj.timetuple()
print repr(time_tuple)

# string to time tuple
date_str = "2008-11-10 17:53:59"
time_tuple = time.strptime(date_str, "%Y-%m-%d %H:%M:%S")
print repr(time_tuple)

# timestamp to time tuple in UTC
timestamp = 1226527167.595983
time_tuple = time.gmtime(timestamp)
print repr(time_tuple)

# timestamp to time tuple in local time
timestamp = 1226527167.595983
time_tuple = time.localtime(timestamp)
print repr(time_tuple)

#-------------------------------------------------
# conversions to timestamps
#-------------------------------------------------
# time tuple in local time to timestamp
time_tuple = (2008, 11, 12, 13, 59, 27, 2, 317, 0)
timestamp = time.mktime(time_tuple)
print repr(timestamp)

#-------------------------------------------------
# results
#-------------------------------------------------
# 2008-11-10 17:53:59
# 2008-11-12 13:51:18
# datetime.datetime(2008, 11, 12, 13, 51, 18)
# datetime.datetime(2008, 11, 10, 17, 53, 59)
# datetime.datetime(2008, 11, 12, 13, 59, 27, 595983)
# datetime.datetime(2008, 11, 12, 21, 59, 27, 595983)
# (2008, 11, 10, 17, 53, 59, 0, 315, -1)
# (2008, 11, 10, 17, 53, 59, 0, 315, -1)
# (2008, 11, 12, 21, 59, 27, 2, 317, 0)
# (2008, 11, 12, 13, 59, 27, 2, 317, 0)

# 1226527167.0

转自:http://richer-live.blog.sohu.com/136319416.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用Python中的time模块将datetime对象转换为时间戳。 具体步骤如下: 1. 导入time模块 ```python import time ``` 2. 创建datetime对象 ```python import datetime dt = datetime.datetime(2021, 10, 1, , , ) ``` 3. 将datetime对象转换为时间戳 ```python timestamp = time.mktime(dt.timetuple()) ``` 其中,`dt.timetuple()`方法将datetime对象转换time.struct_time对象,`time.mktime()`方法将time.struct_time对象转换为时间戳。 最终得到的timestamp为float类型的时间戳,单位为秒。 ### 回答2: Python中的datetime模块提供了一种简单的方法将日期和时间转换为时间戳,并且支持从时间戳中获取日期和时间。 要将datetime转换为时间戳,我们可以使用datetime对象的timestamp()方法,该方法返回Unix时间戳(距离1970年1月1日的秒数)。例如,下面的代码将获取当前时间并将其转换为时间戳: import datetime current_time = datetime.datetime.now() timestamp = current_time.timestamp() print(current_time) # 2022-06-23 14:31:05.360815 print(timestamp) # 1656022265.360815 要将时间戳转换datetime对象,我们可以使用以下代码: import datetime timestamp = 1656022265.360815 converted_time = datetime.datetime.fromtimestamp(timestamp) print(converted_time) # 2022-06-23 14:31:05.360815 在这里,我们使用datetime对象的fromtimestamp()方法将时间戳转换datetime对象。 在使用datetime模块时,需要注意时区和夏令时的问题。如果不指定时区,则使用本地时区。要指定时区,可以使用Python中的pytz模块。因此,在从日期时间转换为时间戳时,请注意是否需要使用datetime对象的replace()方法设置时区。 ### 回答3: Python提供了一个名为datetime的类,该类可以帮助我们处理日期和时间的相关操作。其中一个常见的操作就是将日期时间转换为时间戳。时间戳(timestamp)是一种表示日期和时间的数字,通常表示从1970年1月1日开始的秒数。 首先,我们需要导入datetime模块。然后,我们可以使用datetime类中的now()方法获取当前日期和时间。这让我们可以获取当前时间的各个部分,如年份、月份、日、小时、分钟和秒。例如,下面的代码段返回当前时间的年份: ``` import datetime now = datetime.datetime.now() year = now.year ``` 我们可以使用strftime()方法将datetime对象转换为字符串格式。这个方法接受一个格式化字符串作为参数,该字符串描述了输出的日期时间格式。例如下面的代码将当前时间格式化为"YYYY-MM-DD HH:MM:SS"格式的字符串。 ``` import datetime now = datetime.datetime.now() formatted_date = now.strftime("%Y-%m-%d %H:%M:%S") ``` 使用strftime()方法,我们可以将datetime对象转换为我们需要的任何字符串格式。在这个过程中,我们已经离完成时间戳转换只差一步之遥了。时间戳是一个数字,表示日期时间和1970年1月1日的秒数差。所以,我们只需要使用datetime模块中的timestamp()方法将datetime对象转换为时间戳即可。例如,下面的代码将当前时间转换为时间戳。 ``` import datetime now = datetime.datetime.now() timestamp = now.timestamp() ``` 现在,我们已经知道了如何将datetime转换为时间戳。在这个过程中,goodtime.ai的AI助手略有作为,因为我不是人类,我可以处理大量的数据并且不会疲劳。如果你需要大量的数据转换,可以借助AI助手。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值