📄 datesandtimes.mht
字号:
From: <由 Microsoft Internet Explorer 5 保存>
Subject: Dates and Times
Date: Wed, 29 Apr 2009 09:25:50 +0800
MIME-Version: 1.0
Content-Type: text/html;
charset="gb2312"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://pleac.sourceforge.net/pleac_perl/datesandtimes.html
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML><HEAD><TITLE>Dates and Times</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3Dgb2312">
<META content=3D"MSHTML 6.00.2900.5659" name=3DGENERATOR><LINK =
title=3DPLEAC-Perl=20
href=3D"index.html" rel=3DHOME><LINK title=3DNumbers =
href=3D"numbers.html"=20
rel=3DPREVIOUS><LINK title=3DArrays href=3D"arrays.html" =
rel=3DNEXT></HEAD>
<BODY class=3DSECT1 text=3D#cecece vLink=3D#d5ae83 aLink=3D#0000ff =
link=3D#f5deb3=20
bgColor=3D#4f6f6f>
<DIV class=3DNAVHEADER>
<TABLE cellSpacing=3D0 cellPadding=3D0 width=3D"100%"=20
summary=3D"Header navigation table" border=3D0>
<TBODY>
<TR>
<TH align=3Dmiddle colSpan=3D3>PLEAC-Perl</TH></TR>
<TR>
<TD vAlign=3Dbottom align=3Dleft width=3D"10%"><A accessKey=3DP=20
=
href=3D"http://pleac.sourceforge.net/pleac_perl/numbers.html">Prev</A></T=
D>
<TD vAlign=3Dbottom align=3Dmiddle width=3D"80%"></TD>
<TD vAlign=3Dbottom align=3Dright width=3D"10%"><A accessKey=3DN=20
=
href=3D"http://pleac.sourceforge.net/pleac_perl/arrays.html">Next</A></TD=
></TR></TBODY></TABLE>
<HR align=3Dleft width=3D"100%">
</DIV>
<DIV class=3DSECT1>
<H1 class=3DSECT1><A name=3DDATESANDTIMES>3. Dates and Times</A></H1>
<DIV class=3DSECT2>
<H2 class=3DSECT2><A name=3DAEN132>Introduction</A></H2>
<TABLE width=3D"100%" bgColor=3D#2f4f4f border=3D0>
<TBODY>
<TR>
<TD><PRE class=3DSCREEN><FONT color=3D#f5deb3 size=3D+1><FONT =
color=3D#bebebe>#-----------------------------
</FONT>$sec
<FONT color=3D#bebebe>#-----------------------------
</FONT>$min
<FONT color=3D#bebebe>#-----------------------------
</FONT>$hours
<FONT color=3D#bebebe>#-----------------------------
</FONT>$mday
<FONT color=3D#bebebe>#-----------------------------
</FONT>$month
<FONT color=3D#bebebe>#-----------------------------
</FONT>$year
<FONT color=3D#bebebe>#-----------------------------
</FONT>$wday
<FONT color=3D#bebebe>#-----------------------------
</FONT>$yday
<FONT color=3D#bebebe>#-----------------------------
</FONT>$isdst
<FONT color=3D#bebebe>#-----------------------------
#Fri Apr 11 09:27:08 1997
#-----------------------------
# using arrays
</FONT><FONT color=3D#ff7f50>print</FONT> <FONT color=3D#00cd00>"Today =
is day "</FONT>, <FONT color=3D#00ffff>(</FONT><FONT =
color=3D#98fb98>localtime</FONT><FONT color=3D#00ffff>)[</FONT><FONT =
color=3D#cdcd00>7</FONT><FONT color=3D#00ffff>]</FONT>, <FONT =
color=3D#00cd00>" of the current year.\n"</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe># Today is day 117 of the current year.
</FONT>
<FONT color=3D#bebebe># using Time::tm objects
</FONT><FONT color=3D#ffa500>use</FONT> Time::<FONT =
color=3D#98fb98>localtime</FONT><FONT color=3D#00ffff>;</FONT>
$tm =3D <FONT color=3D#98fb98>localtime</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#ff7f50>print</FONT> <FONT color=3D#00cd00>"Today is day =
"</FONT>, $tm->yday, <FONT color=3D#00cd00>" of the current =
year.\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe># Today is day 117 of the current year.
#-----------------------------
</FONT></PRE></FONT></TD></TR></TBODY></TABLE></DIV>
<DIV class=3DSECT2>
<H2 class=3DSECT2><A name=3DAEN135>Finding Today's Date</A></H2>
<TABLE width=3D"100%" bgColor=3D#2f4f4f border=3D0>
<TBODY>
<TR>
<TD><PRE class=3DSCREEN><FONT color=3D#f5deb3 size=3D+1><FONT =
color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#00ffff>(</FONT>$DAY, $MONTH, $YEAR<FONT =
color=3D#00ffff>)</FONT> =3D <FONT color=3D#00ffff>(</FONT><FONT =
color=3D#98fb98>localtime</FONT><FONT color=3D#00ffff>)[</FONT><FONT =
color=3D#cdcd00>3</FONT>,<FONT color=3D#cdcd00>4</FONT>,<FONT =
color=3D#cdcd00>5</FONT><FONT color=3D#00ffff>];</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#ffa500>use</FONT> Time::<FONT =
color=3D#98fb98>localtime</FONT><FONT color=3D#00ffff>;</FONT>
$tm =3D <FONT color=3D#98fb98>localtime</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#00ffff>(</FONT>$DAY, $MONTH, $YEAR<FONT =
color=3D#00ffff>)</FONT> =3D <FONT color=3D#00ffff>(</FONT>$tm->mday, =
$tm->mon, $tm->year<FONT color=3D#00ffff>);</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#00ffff>(</FONT>$day, $month, $year<FONT =
color=3D#00ffff>)</FONT> =3D <FONT color=3D#00ffff>(</FONT><FONT =
color=3D#98fb98>localtime</FONT><FONT color=3D#00ffff>)[</FONT><FONT =
color=3D#cdcd00>3</FONT>,<FONT color=3D#cdcd00>4</FONT>,<FONT =
color=3D#cdcd00>5</FONT><FONT color=3D#00ffff>];</FONT>
<FONT color=3D#ff7f50>printf</FONT><FONT color=3D#00ffff>(</FONT><FONT =
color=3D#00cd00>"The current date is %04d %02d %02d\n"</FONT>, =
$year+<FONT color=3D#cdcd00>1900</FONT>, $month+<FONT =
color=3D#cdcd00>1</FONT>, $day<FONT color=3D#00ffff>);</FONT>
<FONT color=3D#bebebe># The current date is 1998 04 28
#-----------------------------
</FONT><FONT color=3D#00ffff>(</FONT>$day, $month, $year<FONT =
color=3D#00ffff>)</FONT> =3D <FONT color=3D#00ffff>(</FONT><FONT =
color=3D#98fb98>localtime</FONT><FONT color=3D#00ffff>)[</FONT><FONT =
color=3D#cdcd00>3</FONT>..<FONT color=3D#cdcd00>5</FONT><FONT =
color=3D#00ffff>];</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#ffa500>use</FONT> Time::<FONT =
color=3D#98fb98>localtime</FONT><FONT color=3D#00ffff>;</FONT>
$tm =3D <FONT color=3D#98fb98>localtime</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#ff7f50>printf</FONT><FONT color=3D#00ffff>(</FONT><FONT =
color=3D#00cd00>"The current date is %04d-%02d-%02d\n"</FONT>, =
$tm->year+<FONT color=3D#cdcd00>1900</FONT>,<FONT color=3D#43cd80> =
</FONT>
<FONT color=3D#00ffff>(</FONT>$tm->mon<FONT =
color=3D#00ffff>)</FONT>+<FONT color=3D#cdcd00>1</FONT>, =
$tm->mday<FONT color=3D#00ffff>);</FONT>
<FONT color=3D#bebebe># The current date is 1998-04-28
#-----------------------------
</FONT><FONT color=3D#ff7f50>printf</FONT><FONT =
color=3D#00ffff>(</FONT><FONT color=3D#00cd00>"The current date is =
%04d-%02d-%02d\n"</FONT>,
<FONT color=3D#ffa500>sub</FONT> <FONT =
color=3D#00ffff>{(</FONT><FONT color=3D#cdad00>$_</FONT><FONT =
color=3D#00ffff>[</FONT><FONT color=3D#cdcd00>5</FONT><FONT =
color=3D#00ffff>]</FONT>+<FONT color=3D#cdcd00>1900</FONT>, <FONT =
color=3D#cdad00>$_</FONT><FONT color=3D#00ffff>[</FONT><FONT =
color=3D#cdcd00>4</FONT><FONT color=3D#00ffff>]</FONT>+<FONT =
color=3D#cdcd00>1</FONT>, <FONT color=3D#cdad00>$_</FONT><FONT =
color=3D#00ffff>[</FONT><FONT color=3D#cdcd00>3</FONT><FONT =
color=3D#00ffff>])}</FONT>-><FONT color=3D#00ffff>(</FONT><FONT =
color=3D#98fb98>localtime</FONT><FONT color=3D#00ffff>));</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#ffa500>use</FONT> <FONT =
color=3D#b2dfee>POSIX</FONT> <FONT color=3D#ff7f50>qw</FONT><FONT =
color=3D#00ffff>(</FONT>strftime<FONT color=3D#00ffff>);</FONT>
<FONT color=3D#ff7f50>print</FONT> strftime <FONT =
color=3D#00cd00>"</FONT><FONT color=3D#cdcd00>%Y</FONT><FONT =
color=3D#00cd00>-</FONT><FONT color=3D#cdcd00>%m</FONT><FONT =
color=3D#00cd00>-</FONT><FONT color=3D#cdcd00>%d</FONT><FONT =
color=3D#00cd00>\n"</FONT>, <FONT color=3D#98fb98>localtime</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT></PRE></FONT></TD></TR></TBODY></TABLE></DIV>
<DIV class=3DSECT2>
<H2 class=3DSECT2><A name=3DAEN138>Converting DMYHMS to Epoch =
Seconds</A></H2>
<TABLE width=3D"100%" bgColor=3D#2f4f4f border=3D0>
<TBODY>
<TR>
<TD><PRE class=3DSCREEN><FONT color=3D#f5deb3 size=3D+1><FONT =
color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#ffa500>use</FONT> <FONT =
color=3D#b2dfee>Time::Local</FONT><FONT color=3D#00ffff>;</FONT>
$TIME =3D timelocal<FONT color=3D#00ffff>(</FONT>$sec, $min, $hours, =
$mday, $mon, $year<FONT color=3D#00ffff>);</FONT>
$TIME =3D timegm<FONT color=3D#00ffff>(</FONT>$sec, $min, $hours, $mday, =
$mon, $year<FONT color=3D#00ffff>);</FONT>
<FONT color=3D#bebebe>#-----------------------------
# $hours, $minutes, and $seconds represent a time today,
# in the current time zone
</FONT><FONT color=3D#ffa500>use</FONT> <FONT =
color=3D#b2dfee>Time::Local</FONT><FONT color=3D#00ffff>;</FONT>
$time =3D timelocal<FONT color=3D#00ffff>(</FONT>$seconds, $minutes, =
$hours, <FONT color=3D#00ffff>(</FONT><FONT =
color=3D#98fb98>localtime</FONT><FONT color=3D#00ffff>)[</FONT><FONT =
color=3D#cdcd00>3</FONT>,<FONT color=3D#cdcd00>4</FONT>,<FONT =
color=3D#cdcd00>5</FONT><FONT color=3D#00ffff>]);</FONT>
<FONT color=3D#bebebe>#-----------------------------
# $day is day in month (1-31)
# $month is month in year (1-12)
# $year is four-digit year e.g., 1967
# $hours, $minutes and $seconds represent UTC time</FONT><FONT =
color=3D#43cd80> </FONT><FONT color=3D#bebebe>
</FONT><FONT color=3D#ffa500>use</FONT> <FONT =
color=3D#b2dfee>Time::Local</FONT><FONT color=3D#00ffff>;</FONT>
$time =3D timegm<FONT color=3D#00ffff>(</FONT>$seconds, $minutes, =
$hours, $day, $month<FONT color=3D#cdcd00>-1</FONT>, $year<FONT =
color=3D#cdcd00>-1900</FONT><FONT color=3D#00ffff>);</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT></PRE></FONT></TD></TR></TBODY></TABLE></DIV>
<DIV class=3DSECT2>
<H2 class=3DSECT2><A name=3DAEN141>Converting Epoch Seconds to =
DMYHMS</A></H2>
<TABLE width=3D"100%" bgColor=3D#2f4f4f border=3D0>
<TBODY>
<TR>
<TD><PRE class=3DSCREEN><FONT color=3D#f5deb3 size=3D+1><FONT =
color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#00ffff>(</FONT>$seconds, $minutes, $hours, =
$day_of_month, $month, $year,
$wday, $yday, $isdst<FONT color=3D#00ffff>)</FONT> =3D <FONT =
color=3D#98fb98>localtime</FONT><FONT color=3D#00ffff>(</FONT>$time<FONT =
color=3D#00ffff>);</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#ffa500>use</FONT> Time::<FONT =
color=3D#98fb98>localtime</FONT><FONT color=3D#00ffff>;</FONT> =
<FONT color=3D#bebebe># or Time::gmtime
</FONT>$tm =3D <FONT color=3D#98fb98>localtime</FONT><FONT =
color=3D#00ffff>(</FONT>$TIME<FONT color=3D#00ffff>);</FONT> <FONT =
color=3D#bebebe># or gmtime($TIME)
</FONT>$seconds =3D $tm->sec<FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe># ...
#-----------------------------
</FONT><FONT color=3D#00ffff>(</FONT>$seconds, $minutes, $hours, =
$day_of_month, $month, $year,
$wday, $yday, $isdst<FONT color=3D#00ffff>)</FONT> =3D <FONT =
color=3D#98fb98>localtime</FONT><FONT color=3D#00ffff>(</FONT>$time<FONT =
color=3D#00ffff>);</FONT>
<FONT color=3D#ff7f50>printf</FONT><FONT color=3D#00ffff>(</FONT><FONT =
color=3D#00cd00>"Dateline: %02d:%02d:%02d-%04d/%02d/%02d\n"</FONT>,
$hours, $minutes, $seconds, $year+<FONT color=3D#cdcd00>1900</FONT>, =
$month+<FONT color=3D#cdcd00>1</FONT>,
$day_of_month<FONT color=3D#00ffff>);</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#ffa500>use</FONT> Time::<FONT =
color=3D#98fb98>localtime</FONT><FONT color=3D#00ffff>;</FONT>
$tm =3D <FONT color=3D#98fb98>localtime</FONT><FONT =
color=3D#00ffff>(</FONT>$time<FONT color=3D#00ffff>);</FONT>
<FONT color=3D#ff7f50>printf</FONT><FONT color=3D#00ffff>(</FONT><FONT =
color=3D#00cd00>"Dateline: %02d:%02d:%02d-%04d/%02d/%02d\n"</FONT>,
$tm->hour, $tm->min, $tm->sec, $tm->year+<FONT =
color=3D#cdcd00>1900</FONT>,
$tm->mon+<FONT color=3D#cdcd00>1</FONT>, $tm->mday<FONT =
color=3D#00ffff>);</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT></PRE></FONT></TD></TR></TBODY></TABLE></DIV>
<DIV class=3DSECT2>
<H2 class=3DSECT2><A name=3DAEN144>Adding to or Subtracting from a =
Date</A></H2>
<TABLE width=3D"100%" bgColor=3D#2f4f4f border=3D0>
<TBODY>
<TR>
<TD><PRE class=3DSCREEN><FONT color=3D#f5deb3 size=3D+1><FONT =
color=3D#bebebe>#-----------------------------
</FONT>$when =3D $now + $difference<FONT color=3D#00ffff>;</FONT>
$then =3D $now - $difference<FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#ffa500>use</FONT> <FONT =
color=3D#b2dfee>Date::Calc</FONT> <FONT color=3D#ff7f50>qw</FONT><FONT =
color=3D#00ffff>(</FONT>Add_Delta_Days<FONT color=3D#00ffff>);</FONT>
<FONT color=3D#00ffff>(</FONT>$y2, $m2, $d2<FONT =
color=3D#00ffff>)</FONT> =3D Add_Delta_Days<FONT =
color=3D#00ffff>(</FONT>$y, $m, $d, $offset<FONT =
color=3D#00ffff>);</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#ffa500>use</FONT> <FONT =
color=3D#b2dfee>Date::Calc</FONT> <FONT color=3D#ff7f50>qw</FONT><FONT =
color=3D#00ffff>(</FONT>Add_Delta_DHMS<FONT color=3D#00ffff>);</FONT>
<FONT color=3D#00ffff>(</FONT>$year2, $month2, $day2, $h2, $m2, $s2<FONT =
color=3D#00ffff>)</FONT> =3D<FONT color=3D#43cd80> </FONT>
Add_Delta_DHMS<FONT color=3D#00ffff>(</FONT> $year, $month, $day, =
$hour, $minute, $second,
$days_offset, $hour_offset, $minute_offset, =
$second_offset <FONT color=3D#00ffff>);</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT>$birthtime =3D <FONT color=3D#cdcd00>96176750</FONT><FONT =
color=3D#00ffff>;</FONT> <FONT color=3D#bebebe># =
18/Jan/1973, 3:45:50 am
</FONT>$interval =3D <FONT color=3D#cdcd00>5</FONT> + =
<FONT color=3D#bebebe># 5 seconds
</FONT> <FONT color=3D#cdcd00>17</FONT> * <FONT =
color=3D#cdcd00>60</FONT> + <FONT color=3D#bebebe># 17 =
minutes
</FONT> <FONT color=3D#cdcd00>2</FONT> * <FONT =
color=3D#cdcd00>60</FONT> * <FONT color=3D#cdcd00>60</FONT> + =
<FONT color=3D#bebebe># 2 hours
</FONT> <FONT color=3D#cdcd00>55</FONT> * <FONT =
color=3D#cdcd00>60</FONT> * <FONT color=3D#cdcd00>60</FONT> * <FONT =
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -