加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php中根据某年第几天计算出日期年月日的代码

发布时间:2020-05-28 21:19:22 所属栏目:PHP 来源:互联网
导读:在PHP中,使用内置的date()函数很容易得到任意一天是当前年的第几天,格式为date(z),为此,很多PHP程序会用一年中的第几天作为数据库的索引(index)。

这个索引值除了方便面数据的记录和搜索,还起着记录日期资讯的作用,信息量很可观。
那么,如何还原索引值为可用的日期资讯呢?
date('z')返回的是一年中的第几天,返回值为从0开始至365的整数。要将这些整数还原为日期信息,我们只需要一个简单的计算。以今年(2008年)第159天(实际为160天,php中从0开始,0对应于常规的第一天)为例,计算它的日期、星期方法如下:
<div class="codetitle"><a style="CURSOR: pointer" data="78358" class="copybut" id="copybut78358" onclick="doCopy('code78358')"> 代码如下:<div class="codebody" id="code78358">
<?php
$MyDate=159; //第159天
$milliseconds = mktime(0,1,2008) + $MyDate 86400; //取得UNIX时间戳记
$msg = date('F jS Y,l',$milliseconds); //格式化日期输出
echo $msg;
?>

运行以上程序,浏览器上显示的信息将是:June 8th 2008,Sunday

解释:


一. $milliseconds是UNIX时间戳记变量,它表明2008年第159天所经历的从UNIX公元纪(1700年1月1日)以来的毫秒数,它将作为 参数用于date()函数中参与计算日期信息,是个重要的依据。要正确计算$milliseconds的值,我们首先需要得到2008年1日1日所经历的 毫秒数,即,mktime(0,2008),然后加上159天的毫秒数,即,$MyDate
86400,因为,每一天的86400毫秒。
二. $msg是我们格式化输出的日期资讯,此变量值的取得通过date()函数,第一个参数“'F jS Y,l'”只是格式化格式,还可以根据需要设置为别的,第二个参数是毫秒数(长整型),其意义为从UNIX起始年到某个特定时刻所经历的毫秒总数。
为了验证程序的正确性,我们可以打印一下2008年6月8日所经历的毫秒数:mktime(0,6,8,2008),它的值将与$milliseconds是一样的:1212854400。

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读