python把夏令时转化为日期_python 转换时区(包括夏令时)

这段代码展示了如何使用Python的`pytz`库将UNIX时间戳或日期字符串从协调世界时间(UTC)转换为指定的时区,如亚洲/香港和澳大利亚/悉尼。转换过程中考虑了时区的规范化,确保时间信息的准确性。
摘要由CSDN通过智能技术生成

需要 pytz (第三方库)支持

#!/usr/bin/python

# -*- coding: utf-8 -*-

from datetime import datetime, timedelta

from pytz import timezone

import pytz, time

#def convert_datetime(unix_timestamp=1143408000, tz=1, long_fmt=1):

def convert_datetime(dt='2007-01-01 00:00:00', tz='', dest_fmt='', time_stamp=0):

fmt      = '%Y-%m-%d %H:%M:%S'

if time_stamp == 0:

dt_stamp = time.mktime(time.strptime(dt, fmt))

else:

dt_stamp = float(dt)

# ('Australia/Sydney','Asia/Hong_Kong')

utc      = pytz.utc

utc_dt   = datetime.utcfromtimestamp(dt_stamp).replace(tzinfo=utc)

dest_tz  = timezone(tz)

dest_dt  = dest_tz.normalize(utc_dt.astimezone(dest_tz))

return dest_dt.strftime(dest_fmt)

if __name__ == '__main__':

print "Asia/Hong_Kong: ", convert_datetime(dt='2007-01-01 00:00:00', tz='Asia/Hong_Kong',\

dest_fmt='%Y-%m-%d %H:%M:%S')

print "Australia/Sydney: ", convert_datetime(dt='2007-01-01 00:00:00', tz='Australia/Sydney',\

dest_fmt='%Y-%m-%d %H:%M:%S')

print "Australia/Sydney: ", convert_datetime(dt='1204210838', tz='Australia/Sydney',\

dest_fmt='%Y-%m-%d %H:%M:%S', time_stamp=1)

阅读(2005) | 评论(0) | 转发(0) |

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值