최고의 펄 날짜 시간 튜토리얼 2024년, 이 튜토리얼에서는 현재 시간 및 날짜,그리니치 표준시 (GMT),포맷 일시,새로운 시대의 시간 (신기원 시간),POSIX 함수의 strftime (),를 배울 수 있습니다.
이 섹션에서는, 우리는 날짜와 처리 시간 펄 언어를 소개합니다.
펄 처리 시간의 함수는 다음과 같습니다
의 매개 변수없이에서 현재 날짜와 시간을반환의 현지 () 함수를 살펴 보자.
다른 날짜와 시간 매개 변수를 나타내는 다음 구 기호 :
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
함수gmtime ()과의 현지 ()는 비슷하지만 표준 그리니치 표준시를 반환합니다.
#!/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 시간의 GMT 시간 차이에서 볼 수 있습니다.
우리가 개발에 필요한 시간의 출력 형식의 현지 () 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 월 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
함수의 strftime ()는 우리가 원하는 시간 형식으로 포맷 할 수 있습니다.
다음 표는 서식 기호의 일부를 나열 별표 (*)는 현지 시간에 의존 할 나타냅니다 :
상징 | 기술 | 예 |
---|---|---|
%a | 주 약어 (SunkoSat) * | Thu |
%A | 주 전체 이름 (SundaykoSaturday) * | Thursday |
%b | 월의 약어 (JankoDec) * | Aug |
%B | 달의 전체 이름 (JanuarykoDecember) * | 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 | 표시 AM 또는 PM | PM |
%r | 시간 (HH : MM : SS의 AM 또는 PM) 12 시간 * | 02:55:02 pm |
%R | 24시간 HH:MM 시간 형식, 동일한 %H:%M | 14:55 |
%S | 초 ( 00-61 ) | 02 |
%t | 수평 탭 ( '\t' ) | |
%T | 시간 (24 시간) (HH : SS : mm) , 동일 %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 | 형식은 * 날짜 (mm / 일 / 년)를 표시합니다 | 08/23/01 |
%X | * 시간 형식을 표시합니다 | 14:55:02 |
%y | 두 자리 ( 00-99 ) | 01 |
%Y | 년 | 2001 |
%z | UTC 오프셋 ISO 8601 표준 시간대 (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