Дневные сокращения в python asctime () - PullRequest
0 голосов
/ 18 марта 2012

Кто-нибудь знает конкретно, как pyc asctime () сокращает названия дней? Ex) Пн, Вт, Вт, Чт, Пт? Спасибо!

Ответы [ 2 ]

3 голосов
/ 18 марта 2012

Документы asctime говорят:

Преобразовать кортеж или struct_time, представляющие время, возвращаемое gmtime () или localtime (), в 24-символьную строку следующего вида: 'Sun Jun 2023:21:05 1993 '.Если t не указано, используется текущее время, возвращаемое функцией localtime ().Информация о локали не используется asctime ().

Примечание (1) постоянная длина из 24 символов подразумевает, что сокращения названий дней и названий месяцев должны быть постоянной длины, например 3 (2) Ответне зависит от локали, и делается ссылка на наследование модуля time от C stdlib, поэтому можно смело предположить, что сокращенные имена используются в американском английском.

Почему вы неТакже спрашиваете о месяцах?

В любом случае, вы можете проверить это сами.Следующее было выполнено в (по умолчанию) локали 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'
>>>
0 голосов
/ 18 марта 2012

http://docs.python.org/library/datetime.html#strftime-strptime-behavior

использует% формат символа

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...