|
253 | 253 | <class 'datetime.timezone'> |
254 | 254 |
|
255 | 255 |
|
| 256 | +.. note:: |
| 257 | + |
| 258 | + به منظور شفافسازی بیشتر و درک اهمیت منطقه زمانی، اگر فرض کنیم ساعت در یک لحظه به وقت ``UTC`` برابر ``12:00`` است آنگاه همان لحظه ساعت به وقت ``UTC-05:00`` برابر ``07:00`` و به وقت ``UTC+04:30`` برابر ``16:30`` خواهد بود. |
| 259 | + |
| 260 | + |
| 261 | + |
256 | 262 | کلاس ``datetime.date`` |
257 | 263 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
258 | 264 |
|
|
653 | 659 | >>> t_22 < t_20 |
654 | 660 | False |
655 | 661 |
|
656 | | -توجه داشته باشید که نمیتوان از عملگرهایی همچون ``-`` یا ``+`` برای یک شی از نوع ``datetime.time`` استفاده کرد. |
| 662 | +به مثالی دیگر توجه نمایید:: |
| 663 | + |
| 664 | + >>> from datetime import timedelta, timezone, time |
| 665 | + |
| 666 | + >>> tz_et = timezone(timedelta(hours=-5), 'Eastern Time Zone') |
| 667 | + >>> tz_ir = timezone(timedelta(hours=4, minutes=30), 'Asia/Tehran') |
| 668 | + |
| 669 | + >>> t_et = time(12, 0, 0, tzinfo=tz_et) |
| 670 | + >>> t_ir = time(12, 0, 0, tzinfo=tz_ir) |
| 671 | + |
| 672 | + >>> t_et == t_ir |
| 673 | + False |
| 674 | + >>> t_et > t_ir |
| 675 | + True |
| 676 | + >>> t_et < t_ir |
| 677 | + False |
| 678 | + |
| 679 | + >>> t_ir_new = time(21, 30, 0, tzinfo=tz_ir) |
| 680 | + |
| 681 | + >>> t_et == t_ir_new |
| 682 | + True |
| 683 | + |
| 684 | + |
| 685 | +در کد بالا درست است که هر دو شی ``t_et`` و ``t_ir`` حاوی ساعت دوازده میباشند ولی باید به این نکته توجه داشت، در حالی ``t_et`` ساعت دوازده را نمایش میدهد که نسبت به منطقه زمانی مبنا (UTC) پنج ساعت عقبتر است؛ در واقع نه ساعت و سی دقیقه بعد، ``t_ir`` به زمانی خواهد رسید که ``t_et`` اکنون آن را نمایش میدهد! |
| 686 | + |
| 687 | +همچنین توجه داشته باشید که نمیتوان از عملگرهایی همچون ``-`` یا ``+`` برای اشیای ``datetime.time`` استفاده کرد. |
657 | 688 |
|
658 | 689 |
|
659 | 690 | متدهای شی ساعت |
|
677 | 708 | >>> t_20 |
678 | 709 | datetime.time(20, 20, 22) |
679 | 710 |
|
| 711 | + به مثالی دیگر توجه نمایید:: |
| 712 | + |
| 713 | + >>> from datetime import timedelta, timezone, time |
| 714 | + |
| 715 | + >>> tz = timezone(timedelta(hours=-5), 'Eastern Time Zone') |
| 716 | + >>> t = time(hour=22, minute=22, second=22, tzinfo=tz) |
| 717 | + >>> t |
| 718 | + datetime.time(22, 22, 22, tzinfo=datetime.timezone(datetime.timedelta(days=-1, seconds=68400), 'Eastern Time Zone')) |
| 719 | + |
| 720 | + |
| 721 | + >>> tz_teh = timezone(timedelta(hours=4, minutes=30), 'Asia/Tehran') |
| 722 | + >>> t.replace(tzinfo=tz_teh) |
| 723 | + datetime.time(22, 22, 22, tzinfo=datetime.timezone(datetime.timedelta(seconds=16200), 'Asia/Tehran')) |
| 724 | + |
| 725 | + باید توجه داشت که با تغییر منطقه زمانی یک شی ``datetime.time``، اطلاعات مربوط به ساعت، در آن تغییری نخواهند داشت. چرا که تغییر ساعت بر اساس منطقه زمانی میتواند منجر به تغییر تاریخ گردد و این شی هیچ اطلاعاتی از تاریخ ندارد. |
| 726 | + |
680 | 727 |
|
681 | 728 |
|
682 | 729 | * **متد** ``isoformat`` [`اسناد پایتون <https://docs.python.org/3/library/datetime.html#datetime.time.isoformat>`__]: معادل مقدار ساعت شی را در قالب استاندارد ISO 8601 برمیگرداند:: |
|
0 commit comments