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

۵۵۳ بازدید
آخرین به‌روزرسانی: ۱۸ اردیبهشت ۱۴۰۲
زمان مطالعه: ۳ دقیقه
متد ()strftime در پایتون -- به زبان ساده

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

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

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

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

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

from datetime import datetime

now = datetime.now() # current date and time

year = now.strftime("%Y")
print("year:", year)

month = now.strftime("%m")
print("month:", month)

day = now.strftime("%d")
print("day:", day)

time = now.strftime("%H:%M:%S")
print("time:", time)

date_time = now.strftime("%m/%d/%Y, %H:%M:%S")
print("date and time:",date_time)

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

year: 2018
month: 12
day: 24
time: 04:59:31
date and time: 12/24/2018, 04:59:31

در اینجا، 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

from datetime import datetime

timestamp = 1528797322
date_time = datetime.fromtimestamp(timestamp)

print("Date time object:", date_time)

d = date_time.strftime("%m/%d/%Y, %H:%M:%S")
print("Output 2:", d)	

d = date_time.strftime("%d %b, %Y")
print("Output 3:", d)

d = date_time.strftime("%d %B, %Y")
print("Output 4:", d)

d = date_time.strftime("%I%p")
print("Output 5:", d)

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

Date time object: 2018-06-12 09:55:22
Output 2: 06/12/2018, 09:55:22
Output 3: 12 Jun, 2018
Output 4: 12 June, 2018
Output 5: 09AM

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

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

کد معنا مثال
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
%% یک کاراکتر لفظی (لیترال) % %

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

from datetime import datetime

timestamp = 1528797322
date_time = datetime.fromtimestamp(timestamp)

d = date_time.strftime("%c")
print("Output 1:", d)	

d = date_time.strftime("%x")
print("Output 2:", d)

d = date_time.strftime("%X")
print("Output 3:", d)

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

Output 1: Tue Jun 12 09:55:22 2018
Output 2: 06/12/18
Output 3: 09:55:22

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

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

^^

بر اساس رای ۰ نفر
آیا این مطلب برای شما مفید بود؟
شما قبلا رای داده‌اید!
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
Programiz

نظر شما چیست؟

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