На этом шаге мы рассмотрим функции, применяемые для выполнения этой операции.
Форматирование даты и времени выполняют следующие функции из модуля time:
>>> import time >>> time.strftime ("%d.%m.%Y" ) # Форматирование даты '07.06.2017' >>> time.strftime("%H:%M:%S") # Форматирование времени '06:38:56' >>> time.strftime("%d.%m.%Y", time.localtime(1496792032.296875)) '07.06.2017'
>>> time.strptime ("Fri Apr 03 14:01:34 2017") time.struct_time(tm_year=2017, tm_mon=4, tm_mday=3, tm_hour=14, tm_min=1, tm_sec=34, tm_wday=4, tm_yday=93, tm_isdst=-1) >>> time.strptime ("07.06.2017", "%d.%m.%Y") time.struct_time(tm_year=2017, tm_mon=6, tm_mday=7, tm_hour=0, tm_min=0, tm_sec=0, tm_wday=2, tm_yday=158, tm_isdst=-1) >>> time.strptime ("07-06-2017", "%d.%m.%Y") Traceback (most recent call last): File "", line 1, in time.strptime ("07-06-2017", "%d.%m.%Y") File "C:\Python34\lib\_strptime.py", line 501, in _strptime_time tt = _strptime(data_string, format)[0] File "C:\Python34\lib\_strptime.py", line 344, in _strptime (data_string, format)) ValueError: time data '07-06-2017' does not match format '%d.%m.%Y'
>>> time.asctime () # Текущая дата 'Wed Jun 7 06:47:13 2017' >>> time.asctime (time.localtime (1321954972.0) ) # Дата в прошлом 'Tue Nov 22 15:42:52 2011'
>>> time.ctime () # Текущая дата 'Wed Jun 7 06:49:56 2017' >>> time.ctime (1321954972.0) # Дата в прошлом 'Tue Nov 22 15:42:52 2011'
В параметре <Cтрока формата> в функциях strftime() и strptime() могут быть использованы следующие комбинации специальных символов:
>>> import locale >>> locale.setlocale(locale.LC_ALL, "Russian_Russia.1251") 'Russian_Russia.1251' >>> print(time.strftime("%x")) # Представление даты 07.06.2017 >>> print (time.strftime ("%X") ) # Представление времени 7:00:38 >>> print (time.strftime ( "%c") ) # Дата и время 07.06.2017 7:01:10
В качестве примера выведем текущие дату и время с помощью функции strftime().
#-*- coding: utf-8 -*- import time import locale locale.setlocale(locale.LC_ALL, "Russian_Russia.1251") s = "Сегодня:\n%A %d %b %Y %H:%M:%S\n%d.%m.%Y" print( time.strftime(s) ) input ()
Примерный результат выполнения:
Рис.1. Результат выполнения программы
На следующем шаге мы рассмотрим "засыпание" скрипта.