如何将一个格林威治字符串时间格式化转换为本地时间
2015-09-12 11:03
495 查看
python 时间函数学习了一大堆,那到底怎么将一个格林威治的时间字符串转换为本地时间呢?
这里将以一个格林威治时间字符串转换为北京时间为例进行说明。
格林威治时间字符串:2015-08-31T11:20:48
首先将这个字符串转换为表示时间的tuple格式:
此时,字符串就可以通过touple格式进行表示了。那只要将表示时(hour)的数字加上8,再以我们能看懂的日志格式表示出来就OK了。但python中,tuple是不能够被改变的(概念有点模糊了,应该是)。
那只有这么办了
此时,就差怎么表示成大家都能看懂的格式了。
这样,应该符合我们的预期了。呵呵!好伤脑筋!
本文出自 “诡迹” 博客,请务必保留此出处http://unixman.blog.51cto.com/10163040/1694035
这里将以一个格林威治时间字符串转换为北京时间为例进行说明。
格林威治时间字符串:2015-08-31T11:20:48
首先将这个字符串转换为表示时间的tuple格式:
>>> t=time.strptime('2015-08-31T11:20:48','%Y-%m-%dT%H:%M:%S') >>> t time.struct_time(tm_year=2015, tm_mon=8, tm_mday=31, tm_hour=11, tm_min=20, tm_sec=48, tm_wday=0, tm_yday=243, tm_isdst=-1)
此时,字符串就可以通过touple格式进行表示了。那只要将表示时(hour)的数字加上8,再以我们能看懂的日志格式表示出来就OK了。但python中,tuple是不能够被改变的(概念有点模糊了,应该是)。
那只有这么办了
>>> i=list(t) >>> i [2015, 8, 31, 11, 20, 48, 0, 243, -1] >>> i[3] = i[3] + 8 >>> i [2015, 8, 31, 19, 20, 48, 0, 243, -1]
此时,就差怎么表示成大家都能看懂的格式了。
>>> time.strftime('%Y-%m-%d %H:%M:%S',tuple(i)) '2015-08-31 19:20:48'
这样,应该符合我们的预期了。呵呵!好伤脑筋!
本文出自 “诡迹” 博客,请务必保留此出处http://unixman.blog.51cto.com/10163040/1694035
相关文章推荐
- STL之partial_sum
- c++文件读写
- JPA字段映射(uuid,日期,枚举,@Lob)
- jquery发送手机 验证码倒计时插件 支持页面刷新
- php查找字符是否存在
- redo block header
- 面试常见题
- 《剑指offer》两个链表的第一个公共结点
- Hello 51
- Java HelloWorld
- 如何让Win10开机进入平板模式?开机进入平板模式的方法
- SpringMVC使用@ResponseBody时返回json的日期格式、@DatetimeFormat使用注意
- Leetcode_232_Implement Queue using Stacks
- log4j additivity 作用
- eclipse上,生产可执行的JAR
- unity调用android原生接口
- lintcode-交错正负数-144
- 【无源汇的上下界网络流】【模板】
- Lettcode_232_Implement Queue using Stacks
- redis集群安装问题