.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 1993, Mitchum DSouza .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH strptime 3 "6 أبريل 2026" "صفحات دليل لينكس 6.18" .SH الاسم strptime \- تحويل تمثيل سلسلة محارف للوقت إلى بنية tm زمنية .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز .nf \fB#define _XOPEN_SOURCE\fP /* انظر feature_test_macros(7) */ \fB#include \fP .P \fBchar *strptime(const char *restrict \fP\fIs\fP\fB, const char *restrict \fP\fIformat\fP\fB,\fP \fB struct tm *restrict \fP\fItm\fP\fB);\fP .fi .SH الوصف دالة \fBstrptime\fP() هي عكس \fBstrftime\fP(3); تُحوِّل سلسلة المحارف المشار إليها بـ \fIs\fP إلى قيم تُخزَّن في بنية "الوقت المفصَّل" المشار إليها بـ \fItm\fP، باستخدام التنسيق المحدد بـ \fIformat\fP. .P بنية الوقت المفصَّل \fItm\fP موصوفة في \fBtm\fP(3type). .P وسيط \fIformat\fP هو سلسلة محارف تتكون من واصفات حقول ومحارف نصية، تذكِّر بـ \fBscanf\fP(3). يتكون كل واصف حقل من محرف \fB%\fP يتبعه محرف آخر يحدد الاستبدال لواصف الحقل. يجب أن تحتوي جميع المحارف الأخرى في سلسلة \fIformat\fP على محرف مطابق في سلسلة الإدخال، باستثناء المسافات البيضاء، التي تطابق صفرًا أو أكثر من محارف المسافات البيضاء في سلسلة الإدخال. يجب أن تكون هناك مسافة بيضاء أو محارف أبجدية رقمية أخرى بين أي واصفي حقل. .P دالة \fBstrptime\fP() تعالج سلسلة الإدخال من اليسار إلى اليمين. يُعالَج كل عنصر من عناصر الإدخال الثلاثة الممكنة (مسافة بيضاء، حرفي، أو تنسيق) واحدًا تلو الآخر. إذا تعذَّرت مطابقة الإدخال مع سلسلة التنسيق، تتوقف الدالة. لا تُعالَج بقية سلسلتي التنسيق والإدخال. .P واصفات حقول الإدخال المدعومة مُدرجة أدناه. في حالة مطابقة سلسلة محارف نصية (مثل اسم يوم من أيام الأسبوع أو اسم شهر)، تكون المقارنة غير حساسة لحالة الأحرف. في حالة مطابقة رقم، يُسمح بالأصفار البادئة ولكنها غير مطلوبة. .TP \fB%%\fP محرف \fB%\fP. .TP \fB%a\fP أو \fB%A\fP اسم يوم الأسبوع وفقًا للإعدادات المحلية الحالية، بشكل مختصر أو الاسم الكامل. .TP \fB%b\fP أو \fB%B\fP أو \fB%h\fP اسم الشهر وفقًا للإعدادات المحلية الحالية، بشكل مختصر أو الاسم الكامل. .TP \fB%c\fP تمثيل التاريخ والوقت للإعدادات المحلية الحالية. .TP \fB%C\fP رقم القرن (0\[en]99). .TP \fB%d\fP أو \fB%e\fP يوم الشهر (1\[en]31). .TP \fB%D\fP مكافئ لـ \fB%m/%d/%y\fP. (هذا هو نمط التاريخ الأمريكي، مُربك جدًا لغير الأمريكيين، خاصةً وأن \fB%d/%m/%y\fP يُستخدم على نطاق واسع في أوروبا. تنسيق ISO\ 8601 القياسي هو \fB%Y\-%m\-%d\fP.) .TP \fB%H\fP الساعة (0\[en]23). .TP \fB%I\fP الساعة على ساعة ذات 12 ساعة (1\[en]12). .TP \fB%j\fP رقم اليوم في السنة (1\[en]366). .TP \fB%m\fP رقم الشهر (1\[en]12). .TP \fB%M\fP الدقيقة (0\[en]59). .TP \fB%n\fP مسافة بيضاء عشوائية. .TP \fB%p\fP المكافئ المحلي لـ AM أو PM. (ملاحظة: قد لا يوجد أي منها.) .TP \fB%r\fP وقت الساعة 12 ساعة (باستخدام AM أو PM المحلي). في الإعدادات المحلية POSIX يعادل \fB%I:%M:%S %p\fP. إذا كان \fIt_fmt_ampm\fP فارغًا في جزء \fBLC_TIME\fP من الإعدادات المحلية الحالية، فإن السلوك غير محدد. .TP \fB%R\fP يعادل \fB%H:%M\fP. .TP \fB%S\fP الثانية (0\[en]60; قد تظهر 60 للثواني الكبيسة؛ سابقًا كان مسموحًا أيضًا بـ 61). .TP \fB%t\fP مسافة بيضاء عشوائية. .TP \fB%T\fP يعادل \fB%H:%M:%S\fP. .TP \fB%U\fP رقم الأسبوع مع الأحد كأول يوم في الأسبوع (0\[en]53). أول أحد في يناير هو اليوم الأول من الأسبوع 1. .TP \fB%w\fP الرقم الترتيبي ليوم الأسبوع (0\[en]6)، مع الأحد = 0. .TP \fB%W\fP رقم الأسبوع مع الاثنين كأول يوم في الأسبوع (0\[en]53). أول اثنين في يناير هو اليوم الأول من الأسبوع 1. .TP \fB%x\fP التاريخ، باستخدام تنسيق التاريخ المحلي. .TP \fB%X\fP الوقت، باستخدام تنسيق الوقت المحلي. .TP \fB%y\fP السنة ضمن القرن (0\[en]99). عندما لا يُحدد قرن بخلاف ذلك، تشير القيم في النطاق 69\[en]99 إلى سنوات في القرن العشرين (1969\[en]1999)؛ تشير القيم في النطاق 00\[en]68 إلى سنوات في القرن الحادي والعشرين (2000\[en]2068). .TP \fB%Y\fP السنة، بما في ذلك القرن (على سبيل المثال، 1991). .P يمكن تعديل بعض واصفات الحقول بواسطة حرفي التعديل E أو O للإشارة إلى أنه يجب استخدام تنسيق أو مواصفات بديلة. إذا لم يكن التنسيق أو المواصفات البديلة موجودة في الإعدادات المحلية الحالية، يُستخدم واصف الحقل غير المعدل. .P يحدد معدل E أن سلسلة المحارف المدخلة قد تحتوي على إصدارات بديلة تعتمد على الإعدادات المحلية لتمثيل التاريخ والوقت: .TP \fB%Ec\fP تمثيل التاريخ والوقت البديل المحلي. .TP \fB%EC\fP اسم السنة الأساسية (الفترة) في التمثيل البديل للمحلية. .TP \fB%Ex\fP تمثيل التاريخ البديل للمحلية. .TP \fB%EX\fP تمثيل الوقت البديل للمحلية. .TP \fB%Ey\fP الإزاحة من \fB%EC\fP (السنة فقط) في التمثيل البديل للمحلية. .TP \fB%EY\fP تمثيل السنة البديل الكامل. .P يحدد المُعدِّل O أن الإدخال الرقمي قد يكون بصيغة بديلة معتمدة على المحلية: .TP \fB%Od\fP أو \fB%Oe\fP يوم الشهر باستخدام الرموز الرقمية البديلة للمحلية؛ الأصفار البادئة مسموح بها ولكنها غير مطلوبة. .TP \fB%OH\fP الساعة (ساعة 24 ساعة) باستخدام الرموز الرقمية البديلة للمحلية. .TP \fB%OI\fP الساعة (ساعة 12 ساعة) باستخدام الرموز الرقمية البديلة للمحلية. .TP \fB%Om\fP الشهر باستخدام الرموز الرقمية البديلة للمحلية. .TP \fB%OM\fP الدقائق باستخدام رموز المنطقة الرقمية البديلة. .TP \fB%OS\fP الثواني باستخدام رموز المنطقة الرقمية البديلة. .TP \fB%OU\fP رقم الأسبوع من السنة (الأحد كأول يوم في الأسبوع) باستخدام رموز المنطقة الرقمية البديلة. .TP \fB%Ow\fP الرقم الترتيبي ليوم الأسبوع (الأحد=0)، باستخدام رموز المنطقة الرقمية البديلة. .TP \fB%OW\fP رقم الأسبوع من السنة (الاثنين كأول يوم في الأسبوع) باستخدام رموز المنطقة الرقمية البديلة. .TP \fB%Oy\fP السنة (الإزاحة من \fB%C\fP) باستخدام رموز المنطقة الرقمية البديلة. .SH "قيمة الإرجاع" قيمة إرجاع الدالة هي مؤشر إلى أول حرف لم يُعالج في استدعاء الدالة هذا. في حال احتواء سلسلة المحارف المدخلة على محارف أكثر مما تتطلبه سلسلة التنسيق، يشير المؤشر إلى ما بعد آخر حرف مدخل تم استهلاكه. في حال استهلاك سلسلة المحارف المدخلة بالكامل، يشير المؤشر إلى البايت الصفري في نهاية السلسلة. إذا فشلت \fBstrptime\fP() في مطابقة كامل سلسلة التنسيق وبالتالي حدث خطأ، تُرجع الدالة NULL. .SH السمات للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. الواجهة السمة القيمة T{ .na .nh \fBstrptime\fP() T} سلامة الخيوط بيئة محلية آمنة لتعدد الخيوط (MT\-Safe) .TE .SH المعايير POSIX.1\-2008. .SH التاريخ POSIX.1\-2001, SUSv2. .SH ملاحظات .\" .P .\" This function is available since libc 4.6.8. .\" Linux libc4 and libc5 includes define the prototype unconditionally; .\" glibc2 includes provide a prototype only when .\" .B _XOPEN_SOURCE .\" or .\" .B _GNU_SOURCE .\" are defined. .\" .P .\" Before libc 5.4.13 whitespace .\" (and the \[aq]n\[aq] and \[aq]t\[aq] specifications) was not handled, .\" no \[aq]E\[aq] and \[aq]O\[aq] locale modifier characters were accepted, .\" and the \[aq]C\[aq] specification was a synonym for the \[aq]c\[aq] specification. من حيث المبدأ، لا تُهيئ هذه الدالة \fItm\fP بل تخزن فقط القيم المحددة. هذا يعني أنه يجب تهيئة \fItm\fP قبل الاستدعاء. تختلف التفاصيل قليلاً بين أنظمة UNIX المختلفة. لا يلمس تطبيق glibc تلك الحقول غير المحددة صراحة، باستثناء إعادة حساب حقلي \fItm_wday\fP و \fItm_yday\fP إذا تغير أي من عناصر السنة أو الشهر أو اليوم. .P .\" in the 20th century by libc4 and libc5. .\" It is taken to be a year .\" In libc4 and libc5 the code for %I is broken (fixed in glibc; .\" %OI was fixed in glibc 2.2.4). يُؤخذ تحديد \[aq]y\[aq] (السنة في القرن) لتحديد سنة في النطاق 1950\[en]2049 بواسطة glibc 2.0. ويُؤخذ كسنة في 1969\[en]2068 منذ glibc 2.1. .SS "ملاحظات glibc" لأسباب التناظر، يحاول glibc دعم نفس محارف التنسيق لـ \fBstrptime\fP() كما هو الحال لـ \fBstrftime\fP(3). (في معظم الحالات، تُحلل الحقول المقابلة، لكن لا يُغير أي حقل في \fItm\fP.) يؤدي هذا إلى: .TP \fB%F\fP مكافئ لـ \fB%Y\-%m\-%d\fP، تنسيق التاريخ ISO\ 8601. .TP \fB%g\fP السنة المقابلة لرقم أسبوع ISO، لكن بدون القرن (0\[en]99). .TP \fB%G\fP السنة المقابلة لرقم أسبوع ISO. (على سبيل المثال، 1991.) .TP \fB%u\fP يوم الأسبوع كرقم عشري (1\[en]7، حيث الاثنين = 1). .TP \fB%V\fP رقم الأسبوع وفقًا لـ ISO\ 8601:1988 كرقم عشري (1\[en]53). إذا كان الأسبوع (الذي يبدأ يوم الاثنين) الذي يحتوي على 1 يناير يحتوي على أربعة أيام أو أكثر في السنة الجديدة، فإنه يُعتبر الأسبوع 1. وإلا، فهو الأسبوع الأخير من العام السابق، والأسبوع التالي هو الأسبوع 1. .TP \fB%z\fP مواصفات منطقة زمنية قياسية وفقًا لـ RFC\-822/ISO\ 8601. .TP \fB%Z\fP اسم المنطقة الزمنية. .P وبالمثل، نظرًا لامتدادات GNU لـ \fBstrftime\fP(3)، يُقبل \fB%k\fP كمرادف لـ \fB%H\fP، ويجب قبول \fB%l\fP كمرادف لـ \fB%I\fP، ويُقبل \fB%P\fP كمرادف لـ \fB%p\fP. وأخيرًا: .TP \fB%s\fP عدد الثواني منذ العصر، 1970\-01\-01 00:00:00 +0000 (UTC). لا تُحتسب الثواني الكبيسة إلا إذا كان دعم الثواني الكبيسة متاحًا. .P لا يتطلب تنفيذ glibc وجود مسافة بيضاء بين واصفَي حقلين. .SH أمثلة يوضح المثال التالي استخدام \fBstrptime\fP() و\fBstrftime\fP(3). .P .\" SRC BEGIN (strptime.c) .EX #define _XOPEN_SOURCE #include #include #include #include \& int main(void) { struct tm tm; char buf[255]; \& memset(&tm, 0, sizeof(tm)); strptime("2001\-11\-12 18:31:01", "%Y\-%m\-%d %H:%M:%S", &tm); strftime(buf, sizeof(buf), "%d %b %Y %H:%M", &tm); puts(buf); exit(EXIT_SUCCESS); } .EE .\" SRC END .SH "انظر أيضًا" \fBtime\fP(2)، \fBgetdate\fP(3)، \fBscanf\fP(3)، \fBsetlocale\fP(3)، \fBstrftime\fP(3) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .