Skip to content

Commit 8d9d52e

Browse files
author
Saeid Darvish
committed
l25: work on date class
1 parent de9bea5 commit 8d9d52e

1 file changed

Lines changed: 62 additions & 1 deletion

File tree

lessons/l25.rst

Lines changed: 62 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
کلاس ``datetime.date``
5656
~~~~~~~~~~~~~~~~~~~~~~~~~~~
5757

58-
این کلاس نمایش ایجاد یک شی تاریخ در زبان برنامه‌نویسی پایتون می‌باشد. در ادامه این بخش به بررسی چگونگی ایجاد شی و اجزای آن خواهیم پرداخت.
58+
این کلاس نمایش ایجاد یک شی تاریخ بر اساس گاه‌شماری میلادی (Gregorian calendar) در زبان برنامه‌نویسی پایتون می‌باشد. در ادامه این بخش به بررسی چگونگی ایجاد شی و اجزای آن خواهیم پرداخت.
5959

6060
ایجاد شی تاریخ
6161
------------------
@@ -122,6 +122,67 @@
122122
File "<stdin>", line 1, in <module>
123123
AttributeError: attribute 'year' of 'datetime.date' objects is not writable
124124

125+
**۲- با استفاده از کلاس متد** ``fromisoformat`` [`اسناد پایتون <https://docs.python.org/3/library/datetime.html#datetime.date.fromisoformat>`__] از کلاس ``datetime.date`` (البته از نسخه 3.7 پایتون به بعد)، در تعریف این متد یک پارامتر از نوع ``str`` قرار داده شده است که یک تاریخ را براساس قالب استاندارد ISO 8601 [`ویکی‌پدیا <https://en.wikipedia.org/wiki/ISO_8601>`__] دریافت و یک شی معادل از کلاس ``datetime.date`` را برمی‌گرداند. این قالب برابر ``YYYY-MM-DD`` می‌باشد که از سمت چپ معرف چهار رقم سال، یک خط تیره، دو رقم ماه، یک خط تیره و دو رقم روز ماه می‌باشد؛ همانند: ``07-04-2020``::
126+
127+
>>> import datetime
128+
129+
>>> d = datetime.date.fromisoformat('2021-04-07')
130+
131+
یا::
132+
133+
>>> from datetime import date
134+
135+
>>> d = date.fromisoformat('2021-04-07')
136+
137+
که::
138+
139+
>>> d
140+
datetime.date(2021, 4, 7)
141+
142+
>>> type(d)
143+
<class 'datetime.date'>
144+
145+
::
146+
147+
>>> d.year
148+
2021
149+
>>> d.month
150+
4
151+
>>> d.day
152+
7
153+
154+
**۳- با استفاده از کلاس متد** ``fromordinal`` [`اسناد پایتون <https://docs.python.org/3/library/datetime.html#datetime.date.fromordinal>`__] از کلاس ``datetime.date``، در تعریف این متد یک پارامتر از نوع ``int`` قرار داده شده است که معادل یک proleptic Gregorian ordinal [`ویکی‌پدیا <https://en.wikipedia.org/wiki/Proleptic_Gregorian_calendar>`__] را دریافت و یک شی معادل از کلاس ``datetime.date`` را برمی‌گرداند. این مقدار برابر شمارش تعداد روزها از تاریخ یکم ژانویه سال یک میلادی تا تاریخ مورد نظر می‌باشد::
155+
156+
157+
>>> import datetime
158+
159+
>>> d = datetime.date.fromordinal(737887)
160+
161+
یا::
162+
163+
>>> from datetime import date
164+
165+
>>> d = date.fromordinal(737887)
166+
167+
که::
168+
169+
>>> d
170+
datetime.date(2021, 4, 7)
171+
172+
>>> type(d)
173+
<class 'datetime.date'>
174+
175+
::
176+
177+
>>> d.year
178+
2021
179+
>>> d.month
180+
4
181+
>>> d.day
182+
7
183+
184+
185+
125186

126187

127188
کلاس ``datetime.time``

0 commit comments

Comments
 (0)