Skip to content

Commit 8878254

Browse files
author
Saeid Darvish
committed
l25: strptime, strftime - working
1 parent f7f05c8 commit 8878254

1 file changed

Lines changed: 68 additions & 0 deletions

File tree

lessons/l25.rst

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1243,9 +1243,77 @@ naive / aware
12431243
متدهای ``strftime`` و ``strptime``
12441244
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12451245

1246+
پیش‌تر با این دو متد آشنا شده‌ایم، ولی به صورت خلاصه می‌توان این دو متد را اینگونه تعریف نمود:
12461247

12471248

12481249

1250+
**متد** ``strftime(format)``: یک Instance method بوده و از جانب هر سه نوع شی ``date`` ،``time`` و ``datetime`` پشتیبانی و قابل استفاده می‌باشد. این متد می‌تواند زمان شی مورد نظر را به یک قالب (format) مشخص از شی رشته ``str`` تبدیل نماید. (str format time)
1251+
1252+
1253+
**متد** ``strptime(date_string, format)``: یک Class method بوده و تنها از جانب کلاس ``datetime`` پشتیبانی و قابل استفاده می‌باشد. این متد می‌تواند زمان درج شده در یک قالب (format) مشخص از شی رشته ``str`` را تجزیه (Parse) و به یک شی ``datetime.datetime`` تبدیل نماید. (str parse time)
1254+
1255+
در هر دوی این متدها منظور از format در پارامترهای ورودی، یک رشته متنی است که بر اساس کدهای خاصی تشکیل شده است و همینطور date_string نیز یک رشته متنی حاوی زمان در قالب ارايه شده توسط format می‌باشد. به نمونه کد زیر توجه نمایید::
1256+
1257+
1258+
>>> import datetime
1259+
>>> today = datetime.datetime(2021, 4, 15, 12, 0, 0)
1260+
>>> today.strftime('%Y-%m-%d %H:%M:%S')
1261+
'2021-04-15 12:00:00'
1262+
1263+
::
1264+
1265+
>>> import datetime
1266+
>>> datetime.datetime.strptime('2021-04-15 12:00:00', '%Y-%m-%d %H:%M:%S')
1267+
datetime.datetime(2021, 4, 15, 12, 0)
1268+
1269+
1270+
برای مشاهده فهرست کدهای قابل استفاده و مفهوم آن‌ها در format می‌توانید به [`اسناد پایتون <https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes>`__] مراجعه نمایید ولی برخی از موارد پر استفاده به شرح زیر می‌باشند:
1271+
1272+
1273+
* ``Y%``: نمایش سال به همراه قرن (چهار رقمی)
1274+
1275+
* ``y%``: نمایش سال بدون قرن (دو رقمی)
1276+
1277+
* ``m%``: نمایش شماره ماه به صورت دورقمی: 01 ... 12
1278+
1279+
* ``b%``: نمایش نام ماه به صورت اختصار: Jan ... Dec
1280+
1281+
* ``B%``: نمایش نام ماه به صورت کامل: January ... December
1282+
1283+
* ``d%``: نمایش شماره روز از ماه به صورت دو رقمی: 01 ... 31
1284+
1285+
* ``a%``: نمایش نام روز هفته به صورت اختصار: Sat ... Fri
1286+
1287+
* ``A%``: نمایش نام روز هفته به صورت کامل: Saturday ... Friday
1288+
1289+
* ``H%``: نمایش ساعت (در سیستم شمارش تا 24) به صورت دو رقمی: 00 ... 23
1290+
1291+
* ``I%``: نمایش ساعت (در سیستم شمارش تا 12) به صورت دو رقمی: 00 ... 12
1292+
1293+
* ``p%``: نمایش AM یا PM
1294+
1295+
* ``M%``: نمایش دقیقه به صورت دو رقمی: 00 ... 59
1296+
1297+
* ``S%``: نمایش ثانیه به صورت دو رقمی: 00 ... 59
1298+
1299+
* ``Z%``: نمایش نام منطقه زمانی : UTC ,GMT, ....
1300+
1301+
* ``%%``: نمایش یک کاراکتر ``%``
1302+
1303+
1304+
::
1305+
1306+
>>> import datetime
1307+
>>> today = datetime.datetime(2021, 4, 15, 12, 0, 0)
1308+
>>> today.strftime('%b %d %Y %H:%M:%S')
1309+
'Apr 15 2021 12:00:00'
1310+
1311+
1312+
::
1313+
1314+
>>> import datetime
1315+
>>> datetime.datetime.strptime('Apr 15 2021 12:00:00', '%b %d %Y %H:%M:%S')
1316+
datetime.datetime(2021, 4, 15, 12, 0)
12491317

12501318

12511319

0 commit comments

Comments
 (0)