python - 在Python中以AM/PM格式显示特定时区的unix时间

标签 python datetime python-datetime pytz

我有一个包含 Unix 时间和相应时区的大型电子表格。第 1 行第 1 列可能是 1538082000,第 2 列可能是 America/New_York,第 2 行可能是 1538083000America/Los_Angeles。在每种情况下,我都需要采用该时区内某人的时间格式。

例如,在我的 EDT 示例(第 1 行)中,我想要 2018 年 9 月 27 日下午 5:00:00 EDT,对于第 2 行,我想要 2018 年 9 月 27 日太平洋夏令时间下午 2:16:40

当我尝试抓取数据并以对第三方更友好的格式显示数据时,我经常遇到这种情况,但我一直找不到特别好的方法来做到这一点。

最佳答案

使用Arrow :

>>> import arrow
>>> utc =  arrow.Arrow.fromtimestamp(1538082000)
>>> conv = utc.to('America/New_York')
>>> conv.format("MMM D, YYYY h:mm:ssA ") + conv.tzname()

结果:2018 年 9 月 27 日 5:00:00PM EDT

对于第二个例子:

>>> from dateutil import tz
>>> t = arrow.Arrow.fromtimestamp(1538083000, tzinfo=tz.gettz("America/Los_Angeles"))
>>> t.format("MMM D, YYYY h:mm:ssA ") + t.tzname()

结果将于太平洋夏令时间 2018 年 9 月 27 日下午 2:16:40 得出。

您可以使用第一种形式的 to ,也可以将 tzinfo 传递给 fromtimestamp (如第二个示例中所示)。就我个人而言,我认为第一种形式看起来更干净。

关于python - 在Python中以AM/PM格式显示特定时区的unix时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52416332/

相关文章:

linux - 如何在 shell 脚本中生成顺序日期/时间?

Python:如何将字符串时间转换为十进制秒?

python - datetime.fromtimestamp vs datetime.utcfromtimestamp,哪个使用起来更安全?

python - 如何将 pandas Timedelta 添加到特定业务和工作时间范围的时间戳

python - 当第一个链接旁边包含特定关键字时无法获取第二个链接

python - 如何使用 SparseVector 功能构建模式?

python - Python 中的链式比较数字范围

python - 尝试使用 python 对多台电脑执行 ping 操作。 。

c# - 创建一个只有月和日的日期时间,没有年份

java - 在 mysql 服务器 Play Framework 中存储日期时间