[PHP]进阶教程:PHP中时间戳TimeStamp的使用教程与案例

1.PHP 的 date() 函数用于格式化时间或日期。

1.1 Date() 函数可把时间戳格式化为可读性更好的日期和时间。

语法:

date(format,timestamp)
其中:
format:必需。规定时间戳的格式。

timestamp:可选。规定时间戳。默认是当前的日期和时间。


1.2 日期 - 什么是时间戳(TimeStamp)

时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)以来的秒数。它也被称为 Unix 时间戳(Unix Timestamp)。


1.3 日期 - 格式化日期

date() 函数的第一个参数规定了如何格式化日期/时间。它使用字母来表示日期和时间的格式。这里列出了一些可用的字母:
  • d - 月中的天 (01-31)
  • m - 当前月,以数字计 (01-12)
  • Y - 当前的年(四位数)

可以在字母之间插入其他字符,比如 "/"、"." 或者 "-",这样就可以增加附加格式了:
<?php
echo date("Y/m/d");
echo "<br />";
echo date("Y.m.d");
echo "<br />";
echo date("Y-m-d");
?>



以上代码的输出类似这样(今天的日期):

2013/02/02
2013.02.02
2013-02-02



1.4 日期 - 添加时间戳

date() 函数的第二个参数规定了一个时间戳。此参数是可选的。如果您没有提供时间戳,当前的时间将被使用。
在我们的例子中,我们将使用 mktime() 函数为明天创建一个时间戳。
mktime() 函数可为指定的日期返回时间戳。
语法:

mktime(hour,minute,second,month,day,year,is_dst)


如需获得某一天的时间戳,我们只要设置 mktime() 函数的 day 参数就可以了:

<?php
$tomorrow = mktime(0,0,0,date("m"),date("d")+1000,date("Y"));
echo "1000天后是 ".date("Y/m/d", $tomorrow);
?>


如果不能显示中文,请在代码编辑器里面把编码方式改成UTF-8(或者gb2312)同时添加编码声明:

<META http-equiv="content-type" content="text/html; charset=gb2312">


以上代码的输出类似这样:1000天后是 2015/10/30

可以用这种方式计算各种纪念日。

结合上一的博文:[PHP]从HelloWorld开始的基本语法入门教程

写了一个Demo版本的《女友纪念日计算器》:

<html>
<body>
<form action="welcome.php" method="get">
Year:<input type="text" name="year" /><br/>
Month:<input type="text" name="month" /><br/>
Day:<input type="text" name="day" /><br/><br/>

Calculate Days: <input type="text" name="days" /><br/>
<input type="submit" name="Go!"/>
</form>
</body>
</html>


跳转到的页面welcom.php脚本如下:

<?php
$the_day = mktime(0,0,0,$_GET["month"],$_GET["day"]+$_GET["days"],$_GET["year"]);
echo $_GET["days"].' days later is '.date("Y/m/d", $the_day);
?>


填写好纪念日的年月日和想要算的日期间隔,就能算出各种纪念日啦。

比如输入:2012 06 29 222

这样就能算出结果:222 days later is 2013/02/06

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值