ما هو عكس وظيفة التوقيت المحلي في بيرل؟
سؤال
في بيرل، localtime
يأخذ طابعًا زمنيًا لنظام Unix ويعيد السنة/الشهر/اليوم/الساعة/الدقيقة/الثانية وما إلى ذلك.أبحث عن العكس localtime
:لدي الأجزاء، وأرغب في إنشاء طابع زمني لنظام التشغيل Unix منها.
المحلول
نصائح أخرى
يمكنك استخدام وظيفة timelocal في الوقت::محلي وحدة CPAN.
اسم
الوقت :: محلي - احسب الوقت بكفاءة من الوقت المحلي و GMT
ملخص
$time = timelocal($sec,$min,$hour,$mday,$mon,$year); $time = timegm($sec,$min,$hour,$mday,$mon,$year);
وصف
توفر هذه الوحدة وظائف هي عكس وظائف Perl المدمجة LocalTime () و GMTime ().إنهم يقبلون تاريخًا كصفيف من ستة عناصر ، ويعودون القيمة المقابلة (2) في ثوانٍ منذ عصر النظام (منتصف الليل ، 1 يناير 1970 بتوقيت جرينتش على يونيكس ، على سبيل المثال).يمكن أن تكون هذه القيمة إيجابية أو سلبية ، على الرغم من أن POSIX لا يتطلب سوى دعم للقيم الإيجابية ، لذلك قد لا تعمل تواريخ عصر النظام على جميع أنظمة التشغيل.
يجدر إيلاء اهتمام خاص للنطاقات المتوقعة للقيم المقدمة.قيمة يوم الشهر هي اليوم الفعلي (أي 1..31) ، في حين أن الشهر هو عدد الأشهر منذ يناير (0..11).وهذا يتفق مع القيم التي تم إرجاعها من LocalTime () و GMTime ().
ملحوظة: بوسيكس::mktime هو مجرد غلاف حول مكتبة C الخاصة بك mktime()
وظيفة.Time::Local هو تطبيق Perl خالص، ويعرض دائمًا نتائج مطابقة لنتائج Perl localtime
.أيضا، الوقت::العروض المحلية gmtime
, ، بينما mktime
يعمل فقط بالتوقيت المحلي.(حسنًا، يمكنك محاولة التغيير $ENV{TZ}
, ، ولكن هذا لا يعمل على بعض الأنظمة.)
التاريخ والوقت على CPAN قد يكون له بعض الاستخدام.كما أن لديها كثير طرق التلاعب بالوقت/الترجمة.
كل ما عليك فعله هو إنشاء DateTime باستخدام أجزائك ثم الاتصال بـ $datetime->formatter("%s");