بيرل التاريخ الوقت
هذا القسم، ونحن نقدم للغة بيرل للتاريخ ووقت المعالجة.
بيرل هي وظيفة من وقت المعالجة هي التالية:
- وظيفة 1، والوقت (): عودة من 1 يناير 1970 العدد التراكمي للثانية
- 2، LOCALTIME وظيفة (): احصل على المنطقة الزمنية المحلية
- 3، gmtime وظيفة (): احصل على GMT
الوقت والتاريخ الحالي
دعونا ننظر ظيفةLOCALTIME ()، والتي ترجع التاريخ والوقت الحالي على أية معلمات.
وفيما يلي تسعة الرموز التي تمثل مختلف المعلمات التاريخ والوقت:
sec, # 秒, 0 到 61 min, # 分钟, 0 到 59 hour, # 小时, 0 到 24 mday, # 天, 1 到 31 mon, # 月, 0 到 11 year, # 年,从 1900 开始 wday, # 星期几,0-6,0表示周日 yday, # 一年中的第几天,0-364,365 isdst # 如果夏令时有效,则为真
أمثلة على العرض كما يلي:
#!/usr/bin/perl @months = qw( 一月 二月 三月 四月 五月 六月 七月 八月 九月 十月 十一月 十二月 ); @days = qw(星期天 星期一 星期二 星期三 星期四 星期五 星期六); ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(); print "$mday $months[$mon] $days[$wday]\n";
أمثلة على تنفيذ الانتاج في الأعلى هو:
12 六月 星期天
إذا كانت المكالمة مباشرة إلى LOCALTIME ()، والتي ترجع إعدادات المنطقة الزمنية النظام الحالي، والأمثلة على ذلك كما يلي:
#!/usr/bin/perl $datestring = localtime(); print "时间日期为:$datestring\n";
أمثلة على تنفيذ الانتاج في الأعلى هو:
时间日期为:Sun Jun 12 11:27:31 2016
توقيت جرينتش (GMT)
وظيفةgmtime () وLOCALTIME () هو ما شابه ذلك، ولكنه يعود معيار توقيت غرينتش.
#!/usr/bin/perl $local_datestring = localtime(); print "本地时间日期为:$local_datestring\n"; $gmt_datestring = gmtime(); print "GMT 时间日期为:$gmt_datestring\n";
أمثلة على تنفيذ الانتاج في الأعلى هو:
本地时间日期为:Sun Jun 12 11:32:14 2016 GMT 时间日期为:Sun Jun 12 03:32:14 2016
يمكننا أن نرى من سبيل المثال، الصين والفرق بتوقيت جرينتش من 8 ساعات.
تنسيق التاريخ والوقت
يمكننا استخدام LOCALTIME () 9 الوقت عنصر وظيفة لتنسيق الإخراج من الوقت اللازم لتطوير. الناتج تهيئتها باستخدام وظيفة printf ():
#!/usr/bin/perl ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(); printf("格式化时间:HH:MM:SS\n"); printf("%02d:%02d:%02d", $hour, $min, $sec);
أمثلة على تنفيذ الانتاج في الأعلى هو:
格式化时间:HH:MM:SS 11:35:23
نيو وقت العصر (عصر الوقت)
يمكننا استخدام مرة وظيفة () للحصول على حقبة جديدة من الزمن، ترجع الدالة من 1 يناير 1970 عدد التراكمي للثواني. ومن الأمثلة على ذلك ما يلي:
#!/usr/bin/perl $epoc = time(); print "从1970年1月1日起累计的秒数为:$epoc\n";
أمثلة على تنفيذ الانتاج في الأعلى هو:
从1970年1月1日起累计的秒数为:1465702883
يمكننا إخراج تنسيق الوقت ونحن نريد:
#!/usr/bin/perl ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(); print "当期时间和日期:"; printf("%d-%d-%d %d:%d:%d",$year+1990,$mon+1,$mday,$hour,$min,$sec); print "\n"; $epoc = time(); $epoc = $epoc - 24 * 60 * 60; # 一天前的时间秒数 ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($epoc); print "昨天时间和日期:"; printf("%d-%d-%d %d:%d:%d",$year+1990,$mon+1,$mday,$hour,$min,$sec); print "\n";
أمثلة على تنفيذ الانتاج في الأعلى هو:
当期时间和日期:2106-6-12 11:49:28 昨天时间和日期:2106-6-11 11:49:28
POSIX وظيفة STRFTIME ()
وظيفة STRFTIME () يمكن تنسيق بتنسيق الوقت الذي تريد.
يسرد الجدول التالي بعض رموز التنسيق، النجمة تشير تريد أن تعتمد على الوقت المحلي:
رمز | وصف | أمثلة |
---|---|---|
%a | الأسبوع اختصار (Sun..Sat) * | Thu |
%A | الأسبوع الاسم الكامل (Sunday..Saturday) * | Thursday |
%b | اختصار الشهر (Jan..Dec) * | Aug |
%B | الاسم الكامل من الشهر (January..December) * | August |
%c | التاريخ والوقت * | Thu Aug 23 14:55:02 2001 |
%C | بالإضافة إلى سنة 100، والتقريب ( 00-99 ) | 20 |
%d | يوم من الشهر ( 01-31 ) | 23 |
%D | الآن، MM/DD/YY ما يعادل %m/%d/%y | 08/23/01 |
%e | الأيام القليلة الأولى من الشهر، مبطن مع مسافات أرقام ( 1-31 ) | 23 |
%F | YYYY-MM-DD الاختزال مماثلة ل %Y-%m-%d | 2001-08-23 |
%g | آخر رقمين من السنة ( 00-99 ) | 01 |
%g | عام | 2001 |
%h | * أشهر قصيرة (و %b خيار) | Aug |
%H | على مدار الساعة على مدار 24 ساعة ( 00-23 ) | 14 |
%I | 12 ساعة ( 01-12 ) | 02 |
%j | في الأيام القليلة الأولى من السنة ( 001-366 ) | 235 |
%m | الشهر ( 01-12 ) | 08 |
%M | دقيقة ( 00-59 ) | 55 |
%n | السطر الجديد ( '\n' ) | |
%p | مشاهدة صباحا أو مساء | PM |
%r | الوقت (HH: MM: SS صباحا أو مساء)، 12 ساعة * | 02:55:02 pm |
%R | 24 ساعة HH:MM تنسيق الوقت، أي ما يعادل %H:%M | 14:55 |
%S | ثانية ( 00-61 ) | 02 |
%t | علامة التبويب الأفقي ( '\t' ) | |
%T | الوقت (ساعة على مدار 24 ساعة) (HH: MM: SS) ، تساوي %H:%M:%S | 14:55 |
%u | ISO 8601 من أيام الأسبوع، ويوم الاثنين هو 1 ( 1-7 ) | 4 |
%U | خلال الأسابيع القليلة الأولى من هذا العام، يوم الأحد هو أول أيام ( 00-53 ) | 33 |
%V | ISO 8601 رقم الأسبوع ( 00-53 ) | 34 |
%w | الأيام القليلة الأولى (0 الأحد) في الأسبوع ( 0-6 ) | 4 |
%W | خلال الأسابيع القليلة الأولى من هذا العام، الاثنين هو اليوم الأول ( 00-53 ) | 34 |
%x | شكل لعرض التاريخ (شهر / يوم / سنة) * | 08/23/01 |
%X | عرض تنسيق الوقت * | 14:55:02 |
%y | إن من رقمين ( 00-99 ) | 01 |
%Y | عام | 2001 |
%z | ISO 8601 إزاحة المنطقة الزمنية من UTC (1 دقيقة = 1، 1 ساعة = 100) | +100 |
%Z | اسم المنطقة الزمنية الحالية، مثل "الصين وقت قياسي" * | CDT |
%% | % الرمز | % |
ومن الأمثلة على ذلك ما يلي:
#!/usr/bin/perl use POSIX qw(strftime); $datestring = strftime "%Y-%m-%d %H:%M:%S", localtime; printf("时间日期 - $datestring\n"); # GMT 格式化时间日期 $datestring = strftime "%Y-%m-%d %H:%M:%S", gmtime; printf("时间日期 - $datestring\n");
أمثلة على تنفيذ الانتاج في الأعلى هو:
时间日期 - 2016-06-12 12:15:13 时间日期 - 2016-06-12 04:15:13