STRPTIME(1) User Commands STRPTIME(1)

strptime - تجزیه ورودی از stdin مطابق با یکی از قالب‌های (FORMATs) داده‌شده.

strptime [OPTION]... [INPUT]...

ورودی از stdin را مطابق با یکی از قالب‌های FORMAT داده‌شده تجزیه می‌کند. مشخصه‌کننده‌های رشته قالب مشابه با strptime(3) هستند.

گزینه‌های (OPTION) شناخته‌شده:

نمایش راهنما و خروج
نمایش نسخه و خروج
همچنین نمایش زمان در خروجی؛ پیش‌فرض نمایش تاریخ است
نادیده گرفتن پیام خطاهای تجزیه‌گر تاریخ/زمان و مدت زمان.
قالب خروجی. این می‌تواند یک رشته مشخصه‌کننده (مشابه FMT در strftime()) یا نام یک تقویم باشد.
قالب ورودی، می‌تواند چندین بار استفاده شود. هر تاریخ/زمان به ترتیبی که داده شده به تجزیه‌کننده‌های قالب ورودی فرستاده می‌شود؛ اگر تاریخ/زمان بتواند با یک رشته مشخصه‌کننده قالب ورودی داده‌شده با موفقیت خوانده شود، آن مقدار استفاده خواهد شد.
فعال‌سازی تفسیر گریزهای ممیز وارونه (backslash escapes) در رشته‌های مشخصه‌کننده قالب خروجی و ورودی.
رفتار داخلی strptime(3) و strftime(3) را وابسته به locale می‌کند؛ پیش‌فرض وانمود کردن به برقراری LC_ALL=C است.

مشخصه‌های قالب در dateutils شبیه strftime() در posix هستند.

با این حال، به دلیل پشتیبانی از گستره وسیع‌تری از تقویم‌ها، dateutils ناچار است قوانین متفاوتی را به کار گیرد.

مشخصه‌های تاریخ:

%a  نام مخفف روز هفته
%A  نام کامل روز هفته
%_a نام روز هفته کوتاه‌شده به یک نویسه (MTWRFAS)
%b  نام مخفف ماه
%B  نام کامل ماه
%_b نام ماه کوتاه‌شده به یک نویسه (FGHJKMNQUVXZ)
%c  شمارش روز هفته در ماه (محدوده 00 تا 05)
%C  شمارش روز هفته در سال (محدوده 00 تا 53)
%d  روز ماه، ۲ رقمی (محدوده 00 تا 31)
%D  روز سال، ۳ رقمی (محدوده 000 تا 366)
%F  معادل %Y-%m-%d (قالب استاندارد ymd)
%g  سال تاریخ هفتگی ISO بدون سده (محدوده 00 تا 99)
%G  سال تاریخ هفتگی ISO شامل سده
%j  معادل %D
%m  ماه در تقویم جاری (محدوده 00 تا 12)
%Q  فصل سال (محدوده Q1 تا Q4)
%q  شماره فصل (محدوده 01 تا 04)
%s  تعداد ثانیه‌ها از مبدأ زمان (Epoch)
%u  روز هفته به صورت عدد (محدوده 01 تا 07، یکشنبه 07 است)
%U  شمارش هفته، روز اول هفته یکشنبه است (محدوده 00 تا 53)
%V  شمارش هفته ISO، روز اول هفته دوشنبه است (محدوده 01 تا 53)
%w  روز هفته به صورت عدد (محدوده 00 تا 06، یکشنبه 00 است)
%W  شمارش هفته، روز اول هفته دوشنبه است (محدوده 00 تا 53)
%y  سال بدون سده (محدوده 00 تا 99)
%Y  سال شامل سده
%_y سال کوتاه‌شده به یک رقم
%Z  انحراف منطقه زمانی در ساعت و دقیقه (HH:MM) با
    یک علامت پیشوند (+ برای انحراف‌های شرق UTC، - برای انحراف‌های
    غرب UTC)
%Od روز به صورت اعداد رومی
%Om ماه به صورت اعداد رومی
%Oy سال دو رقمی به صورت اعداد رومی
%OY سال شامل سده به صورت اعداد رومی
%rs در سامانه‌های زمانی که مبدأ زمانی (Epoch) آن‌ها متفاوت از unix Epoch است، این
    مشخصه تعداد ثانیه‌ها از آن زمان را انتخاب می‌کند.
%rY در تقویم‌هایی با سال‌هایی که با سال‌های میلادی همخوانی
    ندارند، این مشخصه سال تقویم را انتخاب می‌کند.
%dth  روز ماه به عنوان عدد ترتیبی، 1st، 2nd، 3rd و غیره
%mth  ماه سال به عنوان عدد ترتیبی، 1st، 2nd، 3rd و غیره
%db روز کاری ماه (از آخرین روز کاری ماه قبل)
%dB تعداد روزهای کاری تا آخرین روز کاری این ماه

مشخصه‌های زمان:

%H  ساعت روز در قالب ۲۴ ساعته، ۲ رقمی (محدوده 00 تا 23)
%I  ساعت روز در قالب ۱۲ ساعته، ۲ رقمی (محدوده 01 تا 12)
%M  دقیقه (محدوده 00 تا 59)
%N  نانوثانیه‌ها (محدوده 000000000 تا 999999999)
%p  رشته AM یا PM، ظهر PM و نیمه‌شب AM است.
%P  مانند %p اما با حروف کوچک
%S  ثانیه (محدوده 00 تا 60، 60 برای ثانیه‌های کبیسه است)
%T  معادل %H:%M:%S

مشخصه‌های عمومی:

%n  نویسه خط جدید
%t  نویسه تب (tab)
%%  نویسه لفظی %

تغییردهنده‌ها:

%O  تغییردهنده برای تبدیل اعداد ده‌دهی به اعداد رومی
%r  تغییردهنده برای تبدیل واحدها به واحدهای واقعی
%0  تغییردهنده برای فعال کردن پیشوندهای صفر
%SPC  تغییردهنده برای فعال کردن پیشوندهای فاصله
%-  تغییردهنده برای غیرفعال کردن پیشوندها به طور کامل
th  پسوند، خواندن و چاپ اعداد ترتیبی
b   پسوند، در نظر گرفتن روزها به عنوان روزهای کاری

طبق طراحی، تاریخ‌های قبل از 1601-01-01 پشتیبانی نمی‌شوند.

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

ymd     %Y-%m-%d
ymcw    %Y-%m-%c-%w
ywd     %rY-W%V-%u
bizda   %Y-%m-%db
lilian     n/a
ldn        n/a
julian     n/a
jdn        n/a
matlab     n/a
mdn        n/a

این شناسه‌ها می‌توانند به عنوان رشته قالب خروجی استفاده شوند؛ علاوه بر این، @code{lilian}/@code{ldn} و @code{julian}/@code{jdn} نیز می‌توانند به عنوان رشته قالب ورودی به کار روند.

$ strptime -i '%a, %b-%d/%Y' 'Mon, May-01/2000'
2000-05-01
$
$ strptime -i '%a, %b-%d/%Y' <<EOF
Mon, May-01/2000
Mon, Mar-2/2000
EOF
2000-05-01
2000-03-02
$

نوشته‌شده توسط Sebastian Freundt <freundt@fresse.org>

گزارش باگ‌ها به: https://github.com/hroptatyr/dateutils/issues

مستندات کامل برای strptime به صورت یک کتابچه راهنمای Texinfo نگهداری می‌شود. اگر برنامه‌های info و strptime به درستی روی سیستم شما نصب شده باشند، دستور

info (dateutils)strptime

باید دسترسی شما به راهنمای کامل را فراهم کند.

May 2024 dateutils 0.4.11