Модуль datetime
Содержание:
- Libraries
- Работа с часовыми поясами
- Операции с датами
- Как открыть HEIC
- Метод after() — Погружение в сон для Tkinter
- datetime.timedelta
- Command-Line Interface¶
- Python timeit — интерфейс командной строки
- datetime.datetime
- Что такое поток
- Связанные темы и праздники
- Правила оформления
- Зачем обновлять биос?
- Examples¶
- Constantes de fuseau horaire¶
Libraries
Project Name | Description |
---|---|
Arrow | A sensible, human-friendly approach to creating, manipulating, formatting and converting dates, times, and timestamps |
cesium | Time series platform with feature extraction aiming for non uniformly sampled signals |
GENDIS | Shapelet discovery by genetic algorithms |
glm-sklearn | scikit-learn compatible wrapper around the GLM module in statsmodels |
Featuretools | Time series feature extraction, with possible conditionality on other variables with a pandas compatible relational-database-like data container |
fecon235 | Computational tools for financial economics |
ffn | financial function library |
flint | A Time Series Library for Apache Spark |
hctsa | Matlab based feature extraction which can be controlled from python |
HMMLearn | Hidden Markov Models with scikit-learn compatible API |
khiva-python | A Time Series library with accelerated analytics on GPUS, it provides feature extraction and motif discovery among other functionalities. |
matrixprofile-ts | Python implementation of the Matrix Profile algorithm which offers anomaly detection and pattern (or “motif”) discovery at the same time. |
Nitime | Timeseries analysis for neuroscience data |
Pastas | Timeseries analysis for hydrological data |
prophet | Time series forecasting for time series data that has multiple seasonality with linear or non-linear growth |
pyDSE | ARMA models for Dynamic System Estimation |
Fuzzy set rule-based models for time series forecasting, including multi-step, point, interval and probabilistic forecasting | |
PyFlux | Classical time series forecasting models |
pysf | A scikit-learn compatible machine learning library for supervised/panel forecasting |
pyramid | port of R’s auto.arima method to Python |
pyts | Contains time series preprocessing, transformation as well as classification techniques |
seglearn | Extends the scikit-learn pipeline concept to sequence data |
sktime | A scikit-learn compatible library for learning with time series/panel data including time series classification/regression and (supervised/panel) forecasting |
statsmodels | Contains a submodule for classical time series models and hypothesis tests |
stumpy | Calculates matrix profile for time series subsequence all-pairs-similarity-search |
TensorFlow-Time-Series-Examples | Time Series Prediction with tf.contrib.timeseries |
tensorflow_probability.sts | Bayesian Structural Time Series model in Tensorflow Probability |
Traces | A library for unevenly-spaced time series analysis |
ta-lib | Calculate technical indicators for financial time series (python wrapper around TA-Lib) |
ta | Calculate technical indicators for financial time series |
tsfresh | Extracts and filters features from time series, allowing supervised classificators and regressor to be applied to time series data |
tslearn | Direct time series classifiers and regressors |
tspreprocess | Preprocess time series (resampling, denoising etc.), still WIP |
Работа с часовыми поясами
К сожалению у меня нет большого опыта работы с часовыми поясами и примеры ниже не стоит рассматривать как лучшие практики.
Библиотека datetime не хранит часовые пояса, данные о переводах часов (летнее и зимнее время) и високосных секундах. К тому же, некоторые страны, могут изменить время опираясь на локальные ситуации. Эти ситуации опасны, когда идет запись в базу данных. Для вывода в GUI, можно использовать datetime.datetime.now() или высчитывать часовой пояс из базы.
Для записи в базу данных мы можем использовать время UTC и отдельно считать часовой пояс:
Следующий пример вычислит разницу времени между UTC и локальным. Насколько я знаю он может не сработать на версиях Python < 3.3:
Для вычисления других часовых поясов можно использовать стороннюю библиотеку pytz, которая их хранит:
Вывести все часовые пояса мы можем так:
На примере ниже я перевожу локальное время в часовой пояс Киева:
Теги:
#python
#datetime
Операции с датами
Последнее обновление: 05.05.2017
Фоматирование дат и времени
Для форматирования объектов date и time в обоих этих классах предусмотрен метод strftime(format). Этот метод принимает только один
параметр, указывающий на формат, в который нужно преобразовать дату или время.
Для определения формата мы можем использовать один из следующих кодов форматирования:
-
%a: аббревиатура дня недели. Например, Wed — от слова Wednesday (по умолчанию используются английские наименования)
-
%A: день недели полностью, например, Wednesday
-
%b: аббревиатура названия месяца. Например, Oct (сокращение от October)
-
%B: название месяца полностью, например, October
-
%d: день месяца, дополненный нулем, например, 01
-
%m: номер месяца, дополненный нулем, например, 05
-
%y: год в виде 2-х чисел
-
%Y: год в виде 4-х чисел
-
%H: час в 24-х часовом формате, например, 13
-
%I: час в 12-ти часовом формате, например, 01
-
%M: минута
-
%S: секунда
-
%f: микросекунда
-
%p: указатель AM/PM
-
%c: дата и время, отформатированные под текущую локаль
-
%x: дата, отформатированная под текущую локаль
-
%X: время, форматированное под текущую локаль
Используем различные форматы:
from datetime import datetime now = datetime.now() print(now.strftime("%Y-%m-%d")) # 2017-05-03 print(now.strftime("%d/%m/%Y")) # 03/05/2017 print(now.strftime("%d/%m/%y")) # 03/05/17 print(now.strftime("%d %B %Y (%A)")) # 03 May 2017 (Wednesday) print(now.strftime("%d/%m/%y %I:%M")) # 03/05/17 01:36
При выводе названий месяцев и дней недели по умолчанию используются английские наименования. Если мы хотим использовать текущую локаль, но то мы
можем ее предварительно установить с помощью модуля locale:
from datetime import datetime import locale locale.setlocale(locale.LC_ALL, "") now = datetime.now() print(now.strftime("%d %B %Y (%A)")) # 03 Май 2017 (среда)
Сложение и вычитани дат и времени
Нередко при работе с датами возникает необходимость добавить к какой-либо дате определенный промежуток времени или, наоборот, вычесть некоторый период. И специально для
таких операций в модуле datetime определен класс timedelta. Фактически этот класс определяет некоторый период времени.
Для определения промежутка времени можно использовать конструктор timedelta:
timedelta( )
В конструктор мы последовательно передаем дни, секунды, микросекунды, миллисекунды, минуты, часы и недели.
Определим несколько периодов:
from datetime import timedelta three_hours = timedelta(hours=3) print(three_hours) # 3:00:00 three_hours_thirty_minutes = timedelta(hours=3, minutes=30) # 3:30:00 two_days = timedelta(2) # 2 days, 0:00:00 two_days_three_hours_thirty_minutes = timedelta(days=2, hours=3, minutes=30) # 2 days, 3:30:00
Используя timedelta, мы можем складывать или вычитать даты. Например, получим дату, которая будет через два дня:
from datetime import timedelta, datetime now = datetime.now() print(now) # 2017-05-03 17:46:44.558754 two_days = timedelta(2) in_two_days = now + two_days print(in_two_days) # 2017-05-05 17:46:44.558754
Или узнаем, сколько было времени 10 часов 15 минут назад, то есть фактически нам надо вычесть из текущего времени 10 часов и 15 минут:
from datetime import timedelta, datetime now = datetime.now() till_ten_hours_fifteen_minutes = now - timedelta(hours=10, minutes=15) print(till_ten_hours_fifteen_minutes)
Свойства timedelta
Класс timedelta имеет несколько свойств, с помощью которых мы можем получить временной промежуток:
-
days: возвращает количество дней
-
seconds: возвращает количество секунд
-
microseconds: возвращает количество микросекунд
Кроме того, метод total_seconds() возвращает общее количество секунд, куда входят и дни, и собственно секунды, и микросекунды.
Например, узнаем какой временной период между двумя датами:
from datetime import timedelta, datetime now = datetime.now() twenty_two_may = datetime(2017, 5, 22) period = twenty_two_may - now print("{} дней {} секунд {} микросекунд".format(period.days, period.seconds, period.microseconds)) # 18 дней 17537 секунд 72765 микросекунд print("Всего: {} секунд".format(period.total_seconds())) # Всего: 1572737.072765 секунд
Сравнение дат
Также как и строки и числа, даты можно сравнивать с помощью стандартных операторов сравнения:
from datetime import datetime now = datetime.now() deadline = datetime(2017, 5, 22) if now > deadline: print("Срок сдачи проекта прошел") elif now.day == deadline.day and now.month == deadline.month and now.year == deadline.year: print("Срок сдачи проекта сегодня") else: period = deadline - now print("Осталось {} дней".format(period.days))
НазадВперед
Как открыть HEIC
Метод after() — Погружение в сон для Tkinter
tkinter является частью стандартной библиотеки Python. В случае, если вы используете заранее установленную версию Python на Linux или Mac, он может быть вам недоступен. При получении ошибки стоит самостоятельно добавить его в систему. В том случае, если вы ранее установили Python сами, должен быть доступен.
Начнем с разбора примера, где используется . Запустите следующий код и посмотрите, что произойдет при неправильном добавлении вызова в Python:
Python
import tkinter
import time
class MyApp:
def __init__(self, parent):
self.root = parent
self.root.geometry(«400×400″)
self.frame = tkinter.Frame(parent)
self.frame.pack()
b = tkinter.Button(text=»click me», command=self.delayed)
b.pack()
def delayed(self):
time.sleep(3)
if __name__ == «__main__»:
root = tkinter.Tk()
app = MyApp(root)
root.mainloop()
1 15 |
importtkinter importtime classMyApp def__init__(self,parent) self.root=parent self.root.geometry(«400×400») self.frame=tkinter.Frame(parent) self.frame.pack() b=tkinter.Button(text=»click me»,command=self.delayed) b.pack() defdelayed(self) if__name__==»__main__» root=tkinter.Tk() app=MyApp(root) root.mainloop() |
После запуска кода нажмите кнопку в GUI. Кнопка не будет реагировать три секунды, ожидая завершения . Если в приложении есть другие кнопки, на них тоже нельзя будет нажать. Закрыть приложение во время сна нельзя, так как оно не будет откликаться на событие закрытия.
Для должного погружения в сон потребуется использовать :
Python
import tkinter
class MyApp:
def __init__(self, parent):
self.root = parent
self.root.geometry(«400×400»)
self.frame = tkinter.Frame(parent)
self.frame.pack()
self.root.after(3000, self.delayed)
def delayed(self):
print(‘Я задержался’)
if __name__ == «__main__»:
root = tkinter.Tk()
app = MyApp(root)
root.mainloop()
1 10 |
importtkinter classMyApp def__init__(self,parent) self.root=parent self.root.geometry(«400×400») self.frame=tkinter.Frame(parent) self.frame.pack() defdelayed(self) print(‘Я задержался’) if__name__==»__main__» root=tkinter.Tk() app=MyApp(root) root.mainloop() |
Здесь создается приложение, высота которого 400 пикселей, и ширина также 400 пикселей. На нем нет виджетов. Оно только показывает фрейм. Затем вызывается , где является отсылкой к объекту . принимает два аргумента:
- Количество миллисекунд для сна;
- Метод который вызовется после завершения сна.
В данном случае приложение выведет строку в стандартный поток вывода (stdout) через 3 секунды. Можно рассматривать как Tkinter-версию того же , только он добавляет способность вызова функции после завершения сна.
Данную функциональность можно использовать для улучшения работы пользователя. Добавив в Python вызов , можно ускорить процесс загрузки приложения, после чего начать какой-то длительный процесс. В таком случае пользователю не придется ждать открытия приложения.
datetime.timedelta
A object represents the difference between two dates or times.
Example 11: Difference between two dates and times
When you run the program, the output will be:
t3 = 201 days, 0:00:00 t6 = -333 days, 1:14:20 type of t3 = <class 'datetime.timedelta'> type of t6 = <class 'datetime.timedelta'>
Notice, both t3 and t6 are of type.
Example 12: Difference between two timedelta objects
When you run the program, the output will be:
t3 = 14 days, 13:55:39
Here, we have created two objects t1 and t2, and their difference is printed on the screen.
When you run the program, the output will be:
t3 = -1 day, 23:59:39 t3 = 0:00:21
Example 14: Time duration in seconds
You can get the total number of seconds in a timedelta object using method.
When you run the program, the output will be:
total seconds = 435633.233423
You can also find sum of two dates and times using operator. Also, you can multiply and divide a object by integers and floats.
Command-Line Interface¶
When called as a program from the command line, the following form is used:
python -m timeit -n N -r N -u U -s S -h statement ...
Where the following options are understood:
-
how many times to execute ‘statement’
-
how many times to repeat the timer (default 5)
-
statement to be executed once initially (default )
-
measure process time, not wallclock time, using
instead of , which is the defaultNew in version 3.3.
-
New in version 3.5.
-
print raw timing results; repeat for more digits precision
-
print a short usage message and exit
A multi-line statement may be given by specifying each line as a separate
statement argument; indented lines are possible by enclosing an argument in
quotes and using leading spaces. Multiple options are treated
similarly.
If is not given, a suitable number of loops is calculated by trying
increasing numbers from the sequence 1, 2, 5, 10, 20, 50, … until the total
time is at least 0.2 seconds.
measurements can be affected by other programs running on
the same machine, so the best thing to do when accurate timing is necessary is
to repeat the timing a few times and use the best time. The
option is good for this; the default of 5 repetitions is probably enough in
most cases. You can use to measure CPU time.
Python timeit — интерфейс командной строки
Интерфейс командной строки очень похож на интерфейс запуска программы Python.
Вам необходимо импортировать внешний модуль с помощью опции -m и применить его к вашему коду.
python -m timeit 'print("Hello from AskPython")'
Это запустит фрагмент, переданный в виде строки, с использованием .
По умолчанию это будет запускать код 1 миллион раз в Linux и 20 миллионов раз в Windows и измерять лучшее время среди этих значений. Ниже приведены результаты моей системы Linux.
Обратите внимание, что если у вас уже есть цикл for в вашем фрагменте, модуль гарантирует, что общее количество итераций близко к 1 миллиону, поэтому весь ваш цикл не будет выполняться 1 миллион раз
Мы также можем использовать через интерпретатор Python и импортировать его, используя:
import timeit
Чтобы узнать время выполнения, передайте код в виде строки в .
execution_time = timeit.timeit(code, number)
Мы можем контролировать количество итераций с помощью параметра .
>>> import timeit >>> timeit.timeit('"-".join(str(n) for n in range(100))', number=10000) 0.19053685299877543 >>> timeit.timeit('"-".join()', number=10000) 0.172546762998536 >>> timeit.timeit('"-".join(map(str, range(100)))', number=10000) 0.13625987299747067 >>>
datetime.datetime
Объект datetime.datetime содержит всю информацию объектов datetime.date плюс datetime.time. Давайте приведем несколько примеров, для лучшего понимания разницы между этим объектом, и объектом datetime.date.
Python
import datetime
a = datetime.datetime(2017, 3, 5)
print(a) # datetime.datetime(2017, 3, 5, 0, 0)
b = datetime.datetime(2017, 3, 5, 12, 30, 10)
print(b) # datetime.datetime(2017, 3, 5, 12, 30, 10)
d = datetime.datetime(2017, 3, 5, 12, 30, 10)
print(d.year) # 2017
print(d.second) # 10
print(d.hour) # 12
1 |
importdatetime a=datetime.datetime(2017,3,5) print(a)# datetime.datetime(2017, 3, 5, 0, 0) b=datetime.datetime(2017,3,5,12,30,10) print(b)# datetime.datetime(2017, 3, 5, 12, 30, 10) d=datetime.datetime(2017,3,5,12,30,10) print(d.year)# 2017 print(d.second)# 10 print(d.hour)# 12 |
Мы видим, что datetime.datetime принимает несколько дополнительных аргументов: год, месяц, день, час, минута и секунда. Это также позволяет вам указывать информацию о микросекундах и часовом поясе. При работе с базами данных, данные типы объектов будут использоваться достаточно часто. Большую часть вашей работы, вам нужно будет конвертировать форматы date или datetime Python в форматы SQL datetime или timestamp
Обратите внимание на то, что today совместно с datetime.datetime использует два разных метода:
Python
import datetime
a = datetime.datetime.today()
print(a) # datetime.datetime(2017, 4, 5, 0, 16, 54, 989663)
b = datetime.datetime.now()
print(b) # datetime.datetime(2017, 4, 5, 0, 17, 8, 24239)
1 |
importdatetime a=datetime.datetime.today() print(a)# datetime.datetime(2017, 4, 5, 0, 16, 54, 989663) b=datetime.datetime.now() print(b)# datetime.datetime(2017, 4, 5, 0, 17, 8, 24239) |
Модуль datetime содержит другой метод, под названием strftime. Этот метод позволяет разработчику создавать строку, отображающую время в более понятной для человека форме. Существует целая таблица параметров форматирования, с которой рекомендуется ознакомиться в документации Python, в . Давайте взглянем на несколько примеров, показывающих всю полезность данного метода:
Python
import datetime
a = datetime.datetime.today().strftime(«%Y%m%d»)
print(a) # ‘20170405’
today = datetime.datetime.today()
print( today.strftime(«%m/%d/%Y») ) # ’04/05/2017′
print( today.strftime(«%Y-%m-%d-%H.%M.%S») ) # 2017-04-05-00.18.00
1 |
importdatetime a=datetime.datetime.today().strftime(«%Y%m%d») print(a)# ‘20170405’ today=datetime.datetime.today() print(today.strftime(«%m/%d/%Y»))# ’04/05/2017′ print(today.strftime(«%Y-%m-%d-%H.%M.%S»))# 2017-04-05-00.18.00 |
Первый пример – это скорее хитрость. В нем показано, как конвертировать сегодняшний объект datetime в строку, следующую за форматом YYYYMMDD (ГГГГММДД). Второй пример более наглядный.
В нем мы присваиваем объект datetime переменной под названием today и применяем два разных параметра форматирования строки. Первый параметр добавляет косые черточки между элементами datetime, а также перегруппировывает datetime, теперь он делится на месяц, день и год. В последнем примере мы создаем временную отметку, которая следует типичному формату: YYYY-MM-DD.HH.MM.SS. Если вам нужно указать год как двухзначный (“YY”), вы можете заменить %Y на %y.
Что такое поток
В упрощённом виде потоки — это параллельно выполняемые задачи. По умолчанию используется один поток — это значит, что программа делает всё по очереди, линейно, без возможности делать несколько дел одновременно.
Но если мы сделаем в программе два потока задач, то они будут работать параллельно и независимо друг от друга. Одному потоку не нужно будет становиться на паузу, когда в другом что-то происходит.
Важно понимать, что поток — это высокоуровневое понятие из области программирования. На уровне вашего «железа» эти потоки всё ещё могут обсчитываться последовательно. Но благодаря тому, что они будут обсчитываться быстро, вам может показаться, что они работают параллельно.
Связанные темы и праздники
Правила оформления
В такой работе, как оформление визиток, есть определенные стандарты. Они зависят не только от каких-то стандартов, но и от заказчиков. К примеру, по этикету визитная карточка оформляется в черно – белой гамме. При этом не используются рамки и другие элементы. Многие удивятся, ведь почти все известные нам примеры визиток имеют цветные элементы. Если речь не идёт о деловом этикете, то и такие строгие правила выполнять не обязательно.
Оформление визиток в черно – белой гамме
В мире есть много локальных стандартов. К примеру, англичане часто создают вертикальные карточки, в то время, как для нас привычнее горизонтальное размещение текстовой информации.
Использование логотипов, торговых марок, товарных знаков
В правила оформления визиток входит использование фирменной символики. Вы имеете право использовать только логотипы, зарегистрированные на ваше имя/компанию. То есть, продавая автомобили Mercedes, вы не являетесь владельцем товарного знака и символики. Этот вопрос необходимо решать с правообладателем. Правила размещения лого обычно указаны в брендбуке/гайдлайне. Если таковых не имеется, самое время заказать. Используя логотип на визитке, следует убедиться, что его размер, цвет и другие параметры установлены в соответствии с имеющимися правилами.
Текст и изображение
Запомните важную вещь – текст для визитки важнее всех остальных элементов. То, как именно он будет выглядеть, влияет на восприятие клиентом информации и вас лично. Уровень креатива должен зависеть от тематики. Иногда попадаются перегибы. Люди действуют по принципу анекдотов о вейперах «законом не запрещено», значит, можно. Можно, и никто вам не запретит сделать какую угодно визитку, если она не содержит обнаженки, экстремизма или Гитлера со свастикой. Только вот, есть определенные рамки, из которых лучше не выходить. От этого зависит суммарное качество готового рекламного продукта.
Возвращаясь к теме текста, уточним, почему он важнее фона и картинок. Представим чистый лист картона, разрезанный на прямоугольники 5 на 9 см. Напишите на каждом ФИО, телефон и профессию. Выглядеть это будет примерно так:
- Иван Иванович Иванов. Фотограф в Ялте. Телефон, электронная почта.
- Анна Петрова. Врач – педиатр. Москва, улица, телефон, электронная почта, Skype.
- Александр Сидоров. Фокусник, иллюзионист, Санкт-Петербург. Телефон, Viber, группа Вконтакте.
Согласитесь, всё просто и доступно. Взглянув на такие визитные карточки, вы узнаете, куда звонить, в каком городе работает человек, как его зовут. То есть, основная необходимая информация есть.
Дизайн визитной карточки только с текстом
Теперь возьмём те же картонки и нарисуем на одной фотоаппарат, на другой – врача, слушающего малыша, а на третьем – человека, достающего кролика из шляпы. С профессией всё понятно. С информацией об исполнителе и способах связи – нет. Текст без картинки может существовать, а вот картинка без него – только в виде пиктограмм на стиральной машине или холодильнике, но никак не на визитке.
Значение имеет размер шрифта для визитки, его тип. Где-то можно использовать подчёркивание, где-то использовать полужирный или курсив
Важно добиться трёх параметров:
- Сочетаемости с фоном;
- Сочетаемости с тематикой;
- Хорошей читаемости. То есть, если ваша визитка выглядит так, словно на ней расписался врач или написано название какой-то группы, играющей «очень тяжёлый металл», это провальное оформление.
Все надписи нужно помещать на шаблоне по сетке, чтобы они выглядели ровно, не было провисаний текста и прочих дефектов. Избегайте кричащих цветов и аляповатых их сочетаний в оформлении надписей. Исключение – услуги для детей. К примеру, какой-нибудь новый магазин игрушек или парк развлечений. Впрочем, здесь тоже не обязательно создавать оттенки в стиле кислотной дискотеки.
Зачем обновлять биос?
Examples¶
It is possible to provide a setup statement that is executed only once at the beginning:
$ python -m timeit -s 'text = "sample string"; char = "g"' 'char in text' 5000000 loops, best of 5: 0.0877 usec per loop $ python -m timeit -s 'text = "sample string"; char = "g"' 'text.find(char)' 1000000 loops, best of 5: 0.342 usec per loop
>>> import timeit >>> timeit.timeit('char in text', setup='text = "sample string"; char = "g"') 0.41440500499993504 >>> timeit.timeit('text.find(char)', setup='text = "sample string"; char = "g"') 1.7246671520006203
The same can be done using the class and its methods:
>>> import timeit >>> t = timeit.Timer('char in text', setup='text = "sample string"; char = "g"') >>> t.timeit() 0.3955516149999312 >>> t.repeat()
The following examples show how to time expressions that contain multiple lines.
Here we compare the cost of using vs. /
to test for missing and present object attributes:
$ python -m timeit 'try:' ' str.__bool__' 'except AttributeError:' ' pass' 20000 loops, best of 5: 15.7 usec per loop $ python -m timeit 'if hasattr(str, "__bool__"): pass' 50000 loops, best of 5: 4.26 usec per loop $ python -m timeit 'try:' ' int.__bool__' 'except AttributeError:' ' pass' 200000 loops, best of 5: 1.43 usec per loop $ python -m timeit 'if hasattr(int, "__bool__"): pass' 100000 loops, best of 5: 2.23 usec per loop
>>> import timeit >>> # attribute is missing >>> s = """\ ... try: ... str.__bool__ ... except AttributeError: ... pass ... """ >>> timeit.timeit(stmt=s, number=100000) 0.9138244460009446 >>> s = "if hasattr(str, '__bool__'): pass" >>> timeit.timeit(stmt=s, number=100000) 0.5829014980008651 >>> >>> # attribute is present >>> s = """\ ... try: ... int.__bool__ ... except AttributeError: ... pass ... """ >>> timeit.timeit(stmt=s, number=100000) 0.04215312199994514 >>> s = "if hasattr(int, '__bool__'): pass" >>> timeit.timeit(stmt=s, number=100000) 0.08588060699912603
To give the module access to functions you define, you can pass a
setup parameter which contains an import statement:
def test(): """Stupid test function""" L = i for i in range(100)] if __name__ == '__main__' import timeit print(timeit.timeit("test()", setup="from __main__ import test"))
Another option is to pass to the globals parameter, which will cause the code
to be executed within your current global namespace. This can be more convenient
than individually specifying imports:
def f(x): return x**2 def g(x): return x**4 def h(x): return x**8 import timeit print(timeit.timeit('', globals=globals()))
Constantes de fuseau horaire¶
-
Décalage du fuseau horaire DST local, en secondes à l’ouest de UTC, s’il en est défini un. Cela est négatif si le fuseau horaire DST local est à l’est de UTC (comme en Europe occidentale, y compris le Royaume-Uni). Utilisez ceci uniquement si est différent de zéro. Voir note ci-dessous.
-
Non nul si un fuseau horaire DST est défini. Voir note ci-dessous.
-
Décalage du fuseau horaire local (hors heure d’été), en secondes à l’ouest de l’UTC (négatif dans la plupart des pays d’Europe occidentale, positif aux États-Unis, nul au Royaume-Uni). Voir note ci-dessous.
-
Une paire de chaînes : la première est le nom du fuseau horaire local autre que DST, la seconde est le nom du fuseau horaire DST local. Si aucun fuseau horaire DST n’est défini, la deuxième chaîne ne doit pas être utilisée. Voir note ci-dessous.
Note
Pour les constantes de fuseau horaire ci-dessus (, , et ), la valeur est déterminée par les règles de fuseau horaire en vigueur au moment du chargement du module ou la dernière fois est appelé et peut être incorrect pour des temps passés. Il est recommandé d’utiliser et résulte de pour obtenir des informations sur le fuseau horaire.
Voir aussi
- Module
-
Interface plus orientée objet vers les dates et les heures.
- Module
-
Services d’internationalisation. Les paramètres régionaux affectent l’interprétation de nombreux spécificateurs de format dans et .
- Module
-
Fonctions générales liées au calendrier. est l’inverse de à partir de ce module.
Notes
-
L’utilisation de est maintenant obsolète, mais l’échappement qui donne le décalage horaire jusqu’à la minute et dépendant des paramètres régionaux n’est pas pris en charge par toutes les bibliothèques C ANSI. En outre, une lecture stricte du standard RFC 822 de 1982 milite pour une année à deux chiffres (%y plutôt que %Y), mais la pratique a migré vers des années à 4 chiffres de long avant l’année 2000. Après cela, la RFC 822 est devenue obsolète et l’année à 4 chiffres a été recommandée pour la première fois par la RFC 1123 puis rendue obligatoire par la RFC 2822.