Chinaunix首页 | 论坛 | 博客
  • 博客访问: 27857
  • 博文数量: 9
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 85
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-18 15:47
文章分类

全部博文(9)

文章存档

2008年(9)

我的朋友
最近访客

分类: LINUX

2008-06-18 16:17:28

需要 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)
 
阅读(2573) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~