python asctime()中的日缩写

时间:2012-03-17 21:09:22

标签: python time

有没有人特别知道python的asctime()如何缩短日名?例如周一,周二,周三,周四,周五?谢谢!

2 个答案:

答案 0 :(得分:3)

asctime文档说:

  

转换表示时间的元组或struct_time   由gmtime()或localtime()返回到24个字符的字符串   以下表格:'Sun Jun 20 23:21:05 1993'。如果没有提供t,则   使用localtime()返回的当前时间。区域设置信息是   不被asctime()使用。

注意(1)24个字符的常量长度意味着日名缩写和月名缩写需要是恒定的长度,例如: 3(2)答案是与语言环境无关的,并且对来自C stdlib的time模块的继承进行了瞥见,因此可以安全地假设缩写的名称是美国英语中使用的名称。

你为什么不问这几个月?

无论如何,您可以自己检查一下。以下是在(默认)C语言环境中执行的。怀疑论者可能希望更改为某些非英语语言环境并重复实验

>>> import time
>>> nowsecs = time.time()
>>> time.gmtime(nowsecs)
time.struct_time(tm_year=2012, tm_mon=3, tm_mday=17, tm_hour=22, tm_min=43, tm_sec=54, tm_wday=5, tm_yday=77, tm_isdst=0)
>>> day_secs = 24 * 60 * 60
>>> for d in range(7):
...     print time.asctime(time.gmtime(nowsecs + d * day_secs))
...
Sat Mar 17 22:43:54 2012
Sun Mar 18 22:43:54 2012
Mon Mar 19 22:43:54 2012
Tue Mar 20 22:43:54 2012
Wed Mar 21 22:43:54 2012
Thu Mar 22 22:43:54 2012
Fri Mar 23 22:43:54 2012
>>> month_secs = day_secs * 365 / 12
>>> for m in range(12):
...     print time.asctime(time.gmtime(nowsecs + m * month_secs))
...
Sat Mar 17 22:43:54 2012
Tue Apr 17 08:43:54 2012
Thu May 17 18:43:54 2012
Sun Jun 17 04:43:54 2012
Tue Jul 17 14:43:54 2012
Fri Aug 17 00:43:54 2012
Sun Sep 16 10:43:54 2012
Tue Oct 16 20:43:54 2012
Fri Nov 16 06:43:54 2012
Sun Dec 16 16:43:54 2012
Wed Jan 16 02:43:54 2013
Fri Feb 15 12:43:54 2013
>>>

怀疑论者角落:

>>> import locale
>>> locale.setlocale(locale.LC_ALL, "French_France")
'French_France.1252'
>>> time.asctime(time.gmtime())
'Sat Mar 17 23:07:28 2012'
>>> time.strftime('%a %b', time.gmtime())
'sam. mars'
>>>

答案 1 :(得分:-1)