在Python中将日期时间更改为Unix时间戳

发布于 2024-12-21 19:17:12 字数 104 浏览 0 评论 0原文

请帮助我将日期时间对象(例如:2011-12-17 11:31:00-05:00)(包括时区)更改为Unix时间戳(如Python中的函数time.time()) )。

Please help me to change datetime object (for example: 2011-12-17 11:31:00-05:00) (including timezone) to Unix timestamp (like function time.time() in Python).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

浴红衣 2024-12-28 19:17:12

另一种方法是:

import calendar
from datetime import datetime
d = datetime.utcnow()
timestamp=calendar.timegm(d.utctimetuple())

Timestamp 是 unix 时间戳,它显示与 datetime 对象 d 相同的日期。

Another way is:

import calendar
from datetime import datetime
d = datetime.utcnow()
timestamp=calendar.timegm(d.utctimetuple())

Timestamp is the unix timestamp which shows the same date with datetime object d.

云柯 2024-12-28 19:17:12
import time

import datetime

dtime = datetime.datetime.now()

ans_time = time.mktime(dtime.timetuple())
import time

import datetime

dtime = datetime.datetime.now()

ans_time = time.mktime(dtime.timetuple())
池木 2024-12-28 19:17:12

不完整的答案(不涉及时区),但希望有用:

time.mktime(datetime_object.timetuple())

**根据以下评论进行编辑**

在我的程序中,用户输入日期时间,选择时区。 ...我创建了一个时区列表(使用 pytz.all_timezones)并允许用户从该列表中选择一个时区。

Pytz 模块提供必要的转换。例如,如果 dt 是您的 datetime 对象,并且用户选择了“美国/东部”,

import pytz, calendar
tz = pytz.timezone('US/Eastern')
utc_dt = tz.localize(dt, is_dst=True).astimezone(pytz.utc)
print calendar.timegm(utc_dt.timetuple())

则参数 is_dst=True 用于解决 1 期间的模糊时间问题。 - 夏令时结束时的小时间隔(请参见此处 http://pytz.sourceforge.net/#problems-with-localtime)。

Incomplete answer (doesn't deal with timezones), but hopefully useful:

time.mktime(datetime_object.timetuple())

** Edited based on the following comment **

In my program, user enter datetime, select timezone. ... I created a timezone list (use pytz.all_timezones) and allow user to chose one timezone from that list.

Pytz module provides the necessary conversions. E.g. if dt is your datetime object, and user selected 'US/Eastern'

import pytz, calendar
tz = pytz.timezone('US/Eastern')
utc_dt = tz.localize(dt, is_dst=True).astimezone(pytz.utc)
print calendar.timegm(utc_dt.timetuple())

The argument is_dst=True is to resolve ambiguous times during the 1-hour intervals at the end of daylight savings (see here http://pytz.sourceforge.net/#problems-with-localtime).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文