در این مطلب، چگونگی تبدیل تاریخ، ساعت و تاریخ-ساعت به رشته معادل با آن، در «زبان برنامه‌نویسی پایتون» (Python Programming Language) و با بهره‌گیری از مثال‌های متعدد آموزش داده شده است. در واقع، متد ()strftime در پایتون مورد بررسی قرار خواهد گرفت.

متد ()strftime در پایتون

متد ()strftime رشته‌ای را باز می‌گرداند که نشانگر تاریخ و ساعت با استفاده از اشیای time ،date یا شی datetime است. در ادامه، مثالی در همین رابطه ارائه شده است.

مثال ۱: تبدیل datetime با استفاده از ()strftime

برنامه زیر، یک شی datetime حاوی تاریخ و ساعت کنونی را به قالب‌های رشته متفاوتی تبدیل می‌کند.

پس از اجرای قطعه کد بالا، خروجی به صورت زیر خواهد بود.

در اینجا، time ،day ،year و date_time رشته هستند، در حالی که now یک شی datetime است.

روش کار متد ()strftime

در برنامه بالا، d ، %m ،%Y% و دیگر موارد، کدهای فرمت هستند. متد ()strftime یک یا تعداد بیشتری کد قالب‌بندی را به عنوان آرگومان دریافت می‌کند و رشته قالب‌بندی شده را بر مبنای آن باز می‌گرداند.

1. کلاس datetime از ماژول datetime وارد می‌شود. دلیل این امر آن است که کلاس datetime می‌تواند به متد ()strftime دسترسی داشته باشد.

متد ()strftime در پایتون -- به زبان ساده

2. شی datetime حاوی تاریخ و ساعت کنونی ذخیره شده در متغیر now است.

متد ()strftime در پایتون -- به زبان ساده

3. متد ()strftime برای ساخت رشته‌های قالب‌بندی شده قابل استفاده است.

متد ()strftime در پایتون -- به زبان ساده

4. رشته‌ای که به متد ()strftime پاس داده می‌شود ممکن است حاوی بیش از یک کد فرمت باشد.

متد ()strftime در پایتون -- به زبان ساده

مثال ۲: ساخت رشته از یک timestamp

خروجی حاصل از اجرای قطعه کد بالا، به صورت زیر است.

لیست کدهای فرمت

در جدول زیر، همه کدهای فرمت قابل استفاده، ارائه شده است.

کد معنا مثال
a% نام روز هفته به صورت خلاصه Sun, Mon, …
A% نام روز هفته به صورت کامل Sunday, Monday, …
w% روز هفته به صورت یک عدد 0, 1, …, 6
d% روز هفته به صورت عدد اعشاری 01, 02, …, 31
d-% روز ماه به صورت یک عدد اعشاری با پیش‌صفر 1, 2, …, 30
b% نام روز ماه به صورت خلاصه Jan, Feb, …, Dec
B% نام روز ماه به صورت کامل January, February, …
m% ماه به صورت عدد اعشاری با پیش‌صفر 01, 02, …, 12
m-% ماه به صورت عدد اعشاری 1, 2, …, 12
y% سال، بدون قرن (۱۰۰)، به صورت عدد اعشاری با پیش‌صفر 00, 01, …, 99
y-% سال، بدون قرن (۱۰۰)، به صورت عدد اعشاری 0, 1, …, 99
Y% سال با قرن به عنوان عدد اعشاری 2013, 2019 , …
H% ساعت (ساعت ۲۴ ساعتی) با صورت عدد اعشاری با پیش‌صفر 00, 01, …, 23
H-% ساعت (ساعت ۲۴ ساعتی) با صورت عدد اعشاری 0, 1, …, 23
I% ساعت (ساعت 12 ساعتی) با صورت عدد اعشاری با پیش‌صفر 01, 02, …, 12
I-% ساعت (ساعت 12 ساعتی) با صورت عدد اعشاری 1, 2, … 12
p% قبل از ظهر یا بعد از ظهر بودن به وقت محلی (AM یا PM) AM, PM
M% دقیقه به صورت عدد اعشاری با پیش‌صفر 00, 01, …, 59
M-% دقیقه به صورت عدد اعشاری 0, 1, …, 59
S% ثانیه به صورت عدد اعشاری با پیش‌صفر 00, 01, …, 59
S-% ثانیه به صورت عدد اعشاری 0, 1, …, 59
f% میکرو ثانیه به صورت عدد اعشاری با پیش‌صفر در سمت چپ. 000000 – 999999
z% اختلاف ساعت هماهنگ جهانی به شکل HHMM+ یا HHMM-
Z% نام منطقه زمانی
j% روزِ سال به صورت عدد اعشاری با پیش‌صفر 001, 002, …, 366
j-% روز سال به صورت عدد اعشاری 1, 2, …, 366
U% شماره هفته از سال (با احتساب یکشنبه به عنوان اولین روز هفته)؛ همه روزها در سال جدید پیش از اولین یکشنبه، به عنوان هفته صفر در نظر گرفته می‌شوند. 00, 01, …, 53
W% شماره هفته از سال (با احتساب دوشنبه به عنوان اولین روز هفته)؛ همه روزها در سال جدید پیش از اولین دوشنبه، به عنوان هفته صفر در نظر گرفته می‌شوند. 00, 01, …, 53
c% ارائه تاریخ و زمان محلی مناسب. Mon Sep 30 07:06:05 2013
x% ارائه تاریخ محلی مناسب. 09/30/13
X% ارائه زمان محلی مناسب. 07:06:05
%% یک کاراکتر لفظی (لیترال) % %

مثال ۳: تاریخ و ساعت محلی مناسب

خروجی حاصل از اجرای برنامه بالا، به صورت زیر خواهد بود.

کدهای فرمت x ،%c% و X% برای ارائه تاریخ و ساعت محلی مورد استفاده قرار می‌گیرند. شایان توجه است که از متد ()strptime نیز برای ساخت یک شی datetime از یک رشته، می‌توان استفاده کرد.

اگر نوشته بالا برای شما مفید بوده است، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

^^

الهام حصارکی (+)

«الهام حصارکی»، فارغ‌التحصیل مقطع کارشناسی ارشد مهندسی فناوری اطلاعات، گرایش سیستم‌های اطلاعات مدیریت است. او در زمینه هوش مصنوعی و داده‌کاوی، به ویژه تحلیل شبکه‌های اجتماعی، فعالیت می‌کند.

آیا این مطلب برای شما مفید بود؟

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *