Heim > Fragen und Antworten > Hauptteil
Wie konvertiert Python den Zeitstempel in das Format „12. Juni 2017 18:24“? Danke
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
Eine weitere Beschwerde: Beim Öffnen von Segmentfault in Chrome wird der Speicherabsturzfehler angezeigt. Wann wird dieser behoben?
漂亮男人2017-06-13 09:26:50
# coding: utf8
import time
timestamp = time.time() - 3600 # 时间戳
print(time.strftime('%Y{y}%m{m}%d{d} %H{H}%M{M}', time.localtime(timestamp)).format(y='年', m='月', d='日', H='时', M='分'))
女神的闺蜜爱上我2017-06-13 09:26:50
还真被我研究出来种万能方法,据我百度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分
搞定。
转载请注明出处,谢谢。