📄 datesandtimes.mht
字号:
color=3D#cdcd00>24</FONT><FONT color=3D#00ffff>;</FONT> <FONT =
color=3D#bebebe># and 55 days
</FONT>$then =3D $birthtime + $interval<FONT color=3D#00ffff>;</FONT>
<FONT color=3D#ff7f50>print</FONT> <FONT color=3D#00cd00>"Then is =
"</FONT>, <FONT color=3D#ff7f50>scalar</FONT><FONT =
color=3D#00ffff>(</FONT><FONT color=3D#98fb98>localtime</FONT><FONT =
color=3D#00ffff>(</FONT>$then<FONT color=3D#00ffff>))</FONT>, <FONT =
color=3D#00cd00>"\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe># Then is Wed Mar 14 06:02:55 1973
#-----------------------------
</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>$year, $month, $day, $hh, $mm, $ss<FONT =
color=3D#00ffff>)</FONT> =3D Add_Delta_DHMS<FONT =
color=3D#00ffff>(</FONT>
<FONT color=3D#cdcd00>1973</FONT>, <FONT color=3D#cdcd00>1</FONT>, =
<FONT color=3D#cdcd00>18</FONT>, <FONT color=3D#cdcd00>3</FONT>, <FONT =
color=3D#cdcd00>45</FONT>, <FONT color=3D#cdcd00>50</FONT>, <FONT =
color=3D#bebebe># 18/Jan/1973, 3:45:50 am
</FONT> <FONT color=3D#cdcd00>55</FONT>, <FONT =
color=3D#cdcd00>2</FONT>, <FONT color=3D#cdcd00>17</FONT>, <FONT =
color=3D#cdcd00>5</FONT><FONT color=3D#00ffff>);</FONT> <FONT =
color=3D#bebebe># 55 days, 2 hrs, 17 min, 5 sec
</FONT><FONT color=3D#ff7f50>print</FONT> <FONT color=3D#00cd00>"To be =
precise: $hh:$mm:$ss, $month/$day/$year\n"</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe># To be precise: 6:2:55, 3/14/1973
#-----------------------------
</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>$year, $month, $day<FONT =
color=3D#00ffff>)</FONT> =3D Add_Delta_Days<FONT =
color=3D#00ffff>(</FONT><FONT color=3D#cdcd00>1973</FONT>, <FONT =
color=3D#cdcd00>1</FONT>, <FONT color=3D#cdcd00>18</FONT>, <FONT =
color=3D#cdcd00>55</FONT><FONT color=3D#00ffff>);</FONT>
<FONT color=3D#ff7f50>print</FONT> <FONT color=3D#00cd00>"Nat was 55 =
days old on: $month/$day/$year\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe># Nat was 55 days old on: 3/14/1973
#-----------------------------
</FONT></PRE></FONT></TD></TR></TBODY></TABLE></DIV>
<DIV class=3DSECT2>
<H2 class=3DSECT2><A name=3DAEN147>Difference of Two Dates</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>$seconds =3D $recent - $earlier<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>Delta_Days<FONT color=3D#00ffff>);</FONT>
$days =3D Delta_Days<FONT color=3D#00ffff>(</FONT> $year1, $month1, =
$day1, $year2, $month2, $day2<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>Delta_DHMS<FONT color=3D#00ffff>);</FONT>
<FONT color=3D#00ffff>(</FONT>$days, $hours, $minutes, $seconds<FONT =
color=3D#00ffff>)</FONT> =3D
Delta_DHMS<FONT color=3D#00ffff>(</FONT> $year1, $month1, $day1, =
$hour1, $minute1, $seconds1, <FONT color=3D#bebebe># earlier
</FONT> $year2, $month2, $day2, $hour2, $minute2, =
$seconds2<FONT color=3D#00ffff>);</FONT> <FONT color=3D#bebebe># later
#-----------------------------
</FONT>$bree =3D <FONT color=3D#cdcd00>361535725</FONT><FONT =
color=3D#00ffff>;</FONT> <FONT color=3D#bebebe># 16 Jun 1981, =
4:35:25
</FONT>$nat =3D <FONT color=3D#cdcd00>96201950</FONT><FONT =
color=3D#00ffff>;</FONT> <FONT color=3D#bebebe># 18 Jan 1973, =
3:45:50
</FONT>
$difference =3D $bree - $nat<FONT color=3D#00ffff>;</FONT>
<FONT color=3D#ff7f50>print</FONT> <FONT color=3D#00cd00>"There were =
$difference seconds between Nat and Bree\n"</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe># There were 265333775 seconds between Nat and =
Bree
</FONT>
$seconds =3D $difference % <FONT color=3D#cdcd00>60</FONT><FONT =
color=3D#00ffff>;</FONT>
$difference =3D <FONT color=3D#00ffff>(</FONT>$difference - =
$seconds<FONT color=3D#00ffff>)</FONT> / <FONT =
color=3D#cdcd00>60</FONT><FONT color=3D#00ffff>;</FONT>
$minutes =3D $difference % <FONT color=3D#cdcd00>60</FONT><FONT =
color=3D#00ffff>;</FONT>
$difference =3D <FONT color=3D#00ffff>(</FONT>$difference - =
$minutes<FONT color=3D#00ffff>)</FONT> / <FONT =
color=3D#cdcd00>60</FONT><FONT color=3D#00ffff>;</FONT>
$hours =3D $difference % <FONT color=3D#cdcd00>24</FONT><FONT =
color=3D#00ffff>;</FONT>
$difference =3D <FONT color=3D#00ffff>(</FONT>$difference - $hours<FONT =
color=3D#00ffff>)</FONT> / <FONT color=3D#cdcd00>24</FONT><FONT =
color=3D#00ffff>;</FONT>
$days =3D $difference % <FONT color=3D#cdcd00>7</FONT><FONT =
color=3D#00ffff>;</FONT>
$weeks =3D <FONT color=3D#00ffff>(</FONT>$difference - $days<FONT =
color=3D#00ffff>)</FONT> / <FONT color=3D#cdcd00>7</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#ff7f50>print</FONT> <FONT color=3D#00cd00>"($weeks weeks, =
$days days, $hours:$minutes:$seconds)\n"</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe># (438 weeks, 4 days, 23:49:35)
#-----------------------------
</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>Delta_Days<FONT color=3D#00ffff>);</FONT>
<FONT color=3D#cdad00>@bree</FONT> =3D <FONT =
color=3D#00ffff>(</FONT><FONT color=3D#cdcd00>1981</FONT>, <FONT =
color=3D#cdcd00>6</FONT>, <FONT color=3D#cdcd00>16</FONT><FONT =
color=3D#00ffff>);</FONT> <FONT color=3D#bebebe># 16 Jun 1981
</FONT><FONT color=3D#cdad00>@nat</FONT> =3D <FONT =
color=3D#00ffff>(</FONT><FONT color=3D#cdcd00>1973</FONT>, <FONT =
color=3D#cdcd00>1</FONT>, <FONT color=3D#cdcd00>18</FONT><FONT =
color=3D#00ffff>);</FONT> <FONT color=3D#bebebe># 18 Jan 1973
</FONT>$difference =3D Delta_Days<FONT color=3D#00ffff>(</FONT><FONT =
color=3D#cdad00>@nat</FONT>, <FONT color=3D#cdad00>@bree</FONT><FONT =
color=3D#00ffff>);</FONT>
<FONT color=3D#ff7f50>print</FONT> <FONT color=3D#00cd00>"There were =
$difference days between Nat and Bree\n"</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe># There were 3071 days between Nat and Bree
#-----------------------------
</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>Delta_DHMS<FONT color=3D#00ffff>);</FONT>
<FONT color=3D#cdad00>@bree</FONT> =3D <FONT =
color=3D#00ffff>(</FONT><FONT color=3D#cdcd00>1981</FONT>, <FONT =
color=3D#cdcd00>6</FONT>, <FONT color=3D#cdcd00>16</FONT>, <FONT =
color=3D#cdcd00>4</FONT>, <FONT color=3D#cdcd00>35</FONT>, <FONT =
color=3D#cdcd00>25</FONT><FONT color=3D#00ffff>);</FONT> <FONT =
color=3D#bebebe># 16 Jun 1981, 4:35:25
</FONT><FONT color=3D#cdad00>@nat</FONT> =3D <FONT =
color=3D#00ffff>(</FONT><FONT color=3D#cdcd00>1973</FONT>, <FONT =
color=3D#cdcd00>1</FONT>, <FONT color=3D#cdcd00>18</FONT>, <FONT =
color=3D#cdcd00>3</FONT>, <FONT color=3D#cdcd00>45</FONT>, <FONT =
color=3D#cdcd00>50</FONT><FONT color=3D#00ffff>);</FONT> <FONT =
color=3D#bebebe># 18 Jan 1973, 3:45:50
</FONT><FONT color=3D#cdad00>@diff</FONT> =3D Delta_DHMS<FONT =
color=3D#00ffff>(</FONT><FONT color=3D#cdad00>@nat</FONT>, <FONT =
color=3D#cdad00>@bree</FONT><FONT color=3D#00ffff>);</FONT>
<FONT color=3D#ff7f50>print</FONT> <FONT color=3D#00cd00>"Bree came =
</FONT><FONT color=3D#cdad00>$diff</FONT><FONT color=3D#00cd00>[0] days, =
</FONT><FONT color=3D#cdad00>$diff</FONT><FONT =
color=3D#00cd00>[1]:</FONT><FONT color=3D#cdad00>$diff</FONT><FONT =
color=3D#00cd00>[2]:</FONT><FONT color=3D#cdad00>$diff</FONT><FONT =
color=3D#00cd00>[3] after Nat\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe># Bree came 3071 days, 0:49:35 after Nat
#-----------------------------
</FONT></PRE></FONT></TD></TR></TBODY></TABLE></DIV>
<DIV class=3DSECT2>
<H2 class=3DSECT2><A name=3DAEN150>Day in a Week/Month/Year or Week =
Number</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>$MONTHDAY, $WEEKDAY, $YEARDAY<FONT =
color=3D#00ffff>)</FONT> =3D <FONT color=3D#00ffff>(</FONT><FONT =
color=3D#98fb98>localtime</FONT> $DATE<FONT =
color=3D#00ffff>)[</FONT><FONT color=3D#cdcd00>3</FONT>,<FONT =
color=3D#cdcd00>6</FONT>,<FONT color=3D#cdcd00>7</FONT><FONT =
color=3D#00ffff>];</FONT>
$WEEKNUM =3D <FONT color=3D#98fb98>int</FONT><FONT =
color=3D#00ffff>(</FONT>$YEARDAY / <FONT color=3D#cdcd00>7</FONT><FONT =
color=3D#00ffff>)</FONT> + <FONT color=3D#cdcd00>1</FONT><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>Day_of_Week Week_Number Day_of_Year<FONT =
color=3D#00ffff>);</FONT>
<FONT color=3D#bebebe># you have $year, $month, and $day
# $day is day of month, by definition.
</FONT>$wday =3D Day_of_Week<FONT color=3D#00ffff>(</FONT>$year, $month, =
$day<FONT color=3D#00ffff>);</FONT>
$wnum =3D Week_Number<FONT color=3D#00ffff>(</FONT>$year, $month, =
$day<FONT color=3D#00ffff>);</FONT>
$dnum =3D Day_of_Year<FONT color=3D#00ffff>(</FONT>$year, $month, =
$day<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>Day_of_Week Week_Number Day_of_Week_to_Text<FONT =
color=3D#00ffff>)</FONT>
$year =3D <FONT color=3D#cdcd00>1981</FONT><FONT =
color=3D#00ffff>;</FONT>
$month =3D <FONT color=3D#cdcd00>6</FONT><FONT color=3D#00ffff>;</FONT> =
<FONT color=3D#bebebe># (June)
</FONT>$day =3D <FONT color=3D#cdcd00>16</FONT><FONT =
color=3D#00ffff>;</FONT>
$wday =3D Day_of_Week<FONT color=3D#00ffff>(</FONT>$year, $month, =
$day<FONT color=3D#00ffff>);</FONT>
<FONT color=3D#ff7f50>print</FONT> <FONT =
color=3D#00cd00>"$month/$day/$year was a "</FONT>, =
Day_of_Week_to_Text<FONT color=3D#00ffff>(</FONT>$wday<FONT =
color=3D#00ffff>)</FONT>, <FONT color=3D#00cd00>"\n"</FONT><FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe>## see comment above
</FONT>
$wnum =3D Week_Number<FONT color=3D#00ffff>(</FONT>$year, $month, =
$day<FONT color=3D#00ffff>);</FONT>
<FONT color=3D#ff7f50>print</FONT> <FONT color=3D#00cd00>"in the $wnum =
week.\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe># 6/16/1981 was a Tuesday
#</FONT><FONT color=3D#43cd80> </FONT><FONT color=3D#bebebe>
# in week number 25.
#-----------------------------
</FONT></PRE></FONT></TD></TR></TBODY></TABLE></DIV>
<DIV class=3DSECT2>
<H2 class=3DSECT2><A name=3DAEN153>Parsing Dates and Times from =
Strings</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>
<FONT color=3D#bebebe># $date is "1998-06-03" (YYYY-MM-DD form).
</FONT><FONT color=3D#00ffff>(</FONT>$yyyy, $mm, $dd<FONT =
color=3D#00ffff>)</FONT> =3D $date =3D~ /<FONT =
color=3D#00ffff>(</FONT>\d+<FONT color=3D#00ffff>)</FONT>-<FONT =
color=3D#00ffff>(</FONT>\d+<FONT color=3D#00ffff>)</FONT>-<FONT =
color=3D#00ffff>(</FONT>\d+<FONT color=3D#00ffff>)</FONT>/<FONT =
color=3D#00ffff>;</FONT>
<FONT color=3D#bebebe># calculate epoch seconds at midnight on that day =
in this timezone
</FONT>$epoch_seconds =3D timelocal<FONT color=3D#00ffff>(</FONT><FONT =
color=3D#cdcd00>0</FONT>, <FONT color=3D#cdcd00>0</FONT>, <FONT =
color=3D#cdcd00>0</FONT>, $dd, $mm, $yyyy<FONT color=3D#00ffff>);</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#ffa500>use</FONT> <FONT =
color=3D#b2dfee>Date::Manip</FONT> <FONT color=3D#ff7f50>qw</FONT><FONT =
color=3D#00ffff>(</FONT>ParseDate UnixDate<FONT =
color=3D#00ffff>);</FONT>
$date =3D ParseDate<FONT color=3D#00ffff>(</FONT>$string<FONT =
color=3D#00ffff>);</FONT>
<FONT color=3D#ffa500>if</FONT> <FONT =
color=3D#00ffff>(</FONT>!$date<FONT color=3D#00ffff>)</FONT> <FONT =
color=3D#00ffff>{</FONT>
<FONT color=3D#bebebe># bad date
</FONT><FONT color=3D#00ffff>}</FONT> <FONT color=3D#ffa500>else</FONT> =
<FONT color=3D#00ffff>{</FONT>
<FONT color=3D#cdad00>@values</FONT> =3D UnixDate<FONT =
color=3D#00ffff>(</FONT>$date, <FONT =
color=3D#cdad00>@formats</FONT><FONT color=3D#00ffff>);</FONT>
<FONT color=3D#00ffff>}</FONT>
<FONT color=3D#bebebe>#-----------------------------
</FONT><FONT color=3D#ffa500>use</FONT> <FONT =
color=3D#b2dfee>Date::Manip</FONT> <FONT color=3D#ff7f50>qw</FONT><FONT =
color=3D#00ffff>(</FONT>ParseDate UnixDate<FONT =
color=3D#00ffff>);</FONT>
<FONT color=3D#ffa500>while</FONT> <FONT =
color=3D#00ffff>(</FONT><><FONT color=3D#00ffff>)</FONT> <FONT =
color=3D#00ffff>{</FONT>
$date =3D ParseDate<FONT color=3D#00ffff>(</FONT>$_<FONT =
color=3D#00ffff>);</FONT>
<FONT color=3D#ffa500>if</FONT> <FONT =
color=3D#00ffff>(</FONT>!$date<FONT color=3D#00ffff>)</FONT> <FONT =
color=3D#00ffff>{</FONT>
<FONT color=3D#98fb98>warn</FONT> <FONT color=3D#00cd00>"Bad =
date string: $_\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#ffa500>next</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#00ffff>}</FONT> <FONT color=3D#ffa500>else</FONT> =
<FONT color=3D#00ffff>{</FONT>
<FONT color=3D#00ffff>(</FONT>$year, $month, $day<FONT =
color=3D#00ffff>)</FONT> =3D UnixDate<FONT =
color=3D#00ffff>(</FONT>$date, <FONT color=3D#00cd00>"</FONT><FONT =
color=3D#cdcd00>%Y</FONT><FONT color=3D#00cd00>"</FONT>, <FONT =
color=3D#00cd00>"</FONT><FONT color=3D#cdcd00>%m</FONT><FONT =
color=3D#00cd00>"</FONT>, <FONT color=3D#00cd00>"</FONT><FONT =
color=3D#cdcd00>%d</FONT><FONT color=3D#00cd00>"</FONT><FONT =
color=3D#00ffff>);</FONT>
<FONT color=3D#ff7f50>print</FONT> <FONT color=3D#00cd00>"Date =
was $month/$day/$year\n"</FONT><FONT color=3D#00ffff>;</FONT>
<FONT color=3D#00ffff>}</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=3DAEN156>Printing a Date</A></H2>
<TABLE width=3D"100%" bgColor=3D#2f4f4f border=3D0>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -