pendulum tools ¶
datetime_to_pendulum ¶
1 def datetime_to_pendulum(date_source: datetime.datetime) -> pendulum.DateTime:
2 """Transforme une datetime.datetime en pendulum.DateTime avec une
3 éventuelle conversion de fuseau horaire (settings.TIME_ZONE).
4
5 Examples:
6
7 from tools.utils_time import datetime_to_pendulum
8
9 created = datetime_to_pendulum(self.created)
10 """
11 pendulum_date = pendulum.datetime(
12 date_source.year,
13 date_source.month,
14 date_source.day,
15 hour=date_source.hour,
16 minute=date_source.minute,
17 second=date_source.second,
18 tz=date_source.tzinfo,
19 ).in_timezone(settings.TIME_ZONE)
20
21 return pendulum_date
date_to_pendulum ¶
1 def date_to_pendulum(date_source: datetime.date) -> pendulum.DateTime:
2 """Transforme une datetime.datetime en pendulum.DateTime avec une
3 éventuelle conversion de fuseau horaire (settings.TIME_ZONE).
4
5 Examples:
6
7 from tools.utils_time import date_to_pendulum
8
9 created = date_to_pendulum(self.created)
10 """
11 pendulum_date = pendulum.datetime(
12 date_source.year,
13 date_source.month,
14 date_source.day,
15 ).in_timezone(settings.TIME_ZONE)
16
17 return pendulum_date
pendulum_to_datetime ¶
1 def pendulum_to_date(date_source: pendulum.DateTime) -> datetime.date:
2 """Transforme une pendulum.DateTime en datetime.date."""
3 date = datetime.date(
4 date_source.year,
5 date_source.month,
6 date_source.day,
7 )
8
9 return date
pendulum_to_datetime ¶
1 def pendulum_to_datetime(date_source: pendulum.DateTime) -> datetime.datetime:
2 """Transforme une pendulum.DateTime en datetime.datetime.
3 In [1]: import datetime
4 In [2]: d = datetime.datetime.now()
5
6 ╭───────────────────────── <class 'datetime.datetime'> ──────────────────────────╮
7 │ datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]]) │
8 │ │
9 │ ╭────────────────────────────────────────────────────────────────────────────╮ │
10 │ │ datetime.datetime(2021, 11, 25, 6, 15, 19, 595852) │ │
11 │ ╰────────────────────────────────────────────────────────────────────────────╯ │
12 │ │
13 │ day = 25 │
14 │ fold = 0 │
15 │ hour = 6 │
16 │ max = datetime.datetime(9999, 12, 31, 23, 59, 59, 999999) │
17 │ microsecond = 595852 │
18 │ min = datetime.datetime(1, 1, 1, 0, 0) │
19 │ minute = 15 │
20 │ month = 11 │
21 │ resolution = datetime.timedelta(microseconds=1) │
22 │ second = 19 │
23 │ tzinfo = None │
24 │ year = 2021 │
25 ╰────────────────────────────────────────────────────────────────────────────────╯
26
27 """
28 date_datetime = datetime.datetime(
29 date_source.year,
30 date_source.month,
31 date_source.day,
32 date_source.hour,
33 date_source.minute,
34 date_source.second,
35 )
36
37 return date_datetime