python如何转换时间戳到"2017年6月12日 18点24分"这样的格式呢?

查看:243
本文介绍了python如何转换时间戳到"2017年6月12日 18点24分"这样的格式呢?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

python如何转换时间戳到"2017年6月12日 18点24分"这样的格式呢?谢谢

import time
timestamp = time.time()
time.strftime('%Y年%m月%d日 %H时%M分', time.localtime(timestamp))
Traceback (most recent call last):
  File "<input>", line 1, in <module>
UnicodeEncodeError: 'locale' codec can't encode character '\u5e74' in position 2: Illegal byte sequence

另外吐槽下,chrome下打开segmentfault显示内存用完崩溃的错误到底什么时候修啊啊啊啊啊啊!

解决方案

还真被我研究出来种万能方法,据我百度Google貌似这还是世上独一份?

话不多说,下面上解决原理及方案:

官方文档:https://docs.python.org/3/lib...


class time.`struct_time`¶

The type of the time value sequence returned by gmtime(), localtime(), and strptime(). It is an object with a named tuple interface: values can be accessed by index and by attribute name. The following values are present:

Index Attribute Values
0 tm_year (for example, 1993)
1 tm_mon range [1, 12]
2 tm_mday range [1, 31]
3 tm_hour range [0, 23]
4 tm_min range [0, 59]
5 tm_sec range [0, 61]; see (2) in strftime() description
6 tm_wday range [0, 6], Monday is 0
7 tm_yday range [1, 366]
8 tm_isdst 0, 1 or -1; see below
N/A tm_zone abbreviation of timezone name
N/A tm_gmtoff offset east of UTC in seconds

Note that unlike the C structure, the month value is a range of [1, 12], not [0, 11].
In calls to mktime(), tm_isdst may be set to 1 when daylight savings time is in effect, and 0 when it is not. A value of -1 indicates that this is not known, and will usually result in the correct state being filled in.
When a tuple with an incorrect length is passed to a function expecting a struct_time, or having elements of the wrong type, a TypeError is raised.


看文档可以得知time.localtime()返回的元组结构,我要用到的是年月日时分,前5个,于是乎,代码:

import time
print('%s年%s月%s日 %s时%s分' % time.localtime(1497254119.69407)[:5])

输出:

2017年6月12日 15时55分

搞定。

转载请注明出处,谢谢。

这篇关于python如何转换时间戳到&quot;2017年6月12日 18点24分&quot;这样的格式呢?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆