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

 更新时间:2011年02月24日 23:52:31   作者:  
在PHP中,使用内置的date()函数很容易得到任意一天是当前年的第几天,格式为date('z'),为此,很多PHP程序会用一年中的第几天作为数据库的索引(index)。
这个索引值除了方便面数据的记录和搜索,还起着记录日期资讯的作用,信息量很可观。
那么,如何还原索引值为可用的日期资讯呢?
date('z')返回的是一年中的第几天,返回值为从0开始至365的整数。要将这些整数还原为日期信息,我们只需要一个简单的计算。以今年(2008年)第159天(实际为160天,php中从0开始,0对应于常规的第一天)为例,计算它的日期、星期方法如下:
复制代码 代码如下:

<?php
$MyDate=159; //第159天
$milliseconds = mktime(0,0,0,1,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,0,0,1,1,2008),然后加上159天的毫秒数,即,$MyDate * 86400,因为,每一天的86400毫秒。
二. $msg是我们格式化输出的日期资讯,此变量值的取得通过date()函数,第一个参数“'F jS Y , l'”只是格式化格式,还可以根据需要设置为别的,第二个参数是毫秒数(长整型),其意义为从UNIX起始年到某个特定时刻所经历的毫秒总数。
为了验证程序的正确性,我们可以打印一下2008年6月8日所经历的毫秒数:mktime(0,0,0,6,8,2008),它的值将与$milliseconds是一样的:1212854400。

相关文章

  • Thinkphp中import的几个用法详细介绍

    Thinkphp中import的几个用法详细介绍

    这篇文章主要介绍了Thinkphp中import的几个用法,需要的朋友可以参考下
    2014-07-07
  • php中echo、print和print_r的区别点及用法总结

    php中echo、print和print_r的区别点及用法总结

    在本篇文章里小编给大家整理的是一篇关于php中echo、print和print_r的区别点及用法总结内容,有需要的朋友们可以学习下。
    2021-12-12
  • thinkphp 多表 事务详解

    thinkphp 多表 事务详解

    本篇文章是对thinkphp 多表、事务进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP实现的一致性Hash算法详解【分布式算法】

    PHP实现的一致性Hash算法详解【分布式算法】

    这篇文章主要介绍了PHP实现的一致性Hash算法,结合实例形式详细分析了php一致性Hash算法的概念、原理及相关实现与使用技巧,需要的朋友可以参考下
    2018-03-03
  • PHP基于GD2函数库实现验证码功能示例

    PHP基于GD2函数库实现验证码功能示例

    这篇文章主要介绍了PHP基于GD2函数库实现验证码功能,简单介绍了GD2函数库的常用函数,并结合实例形式分析了php实现验证码功能相关操作技巧,需要的朋友可以参考下
    2019-01-01
  • PHP 七大优势分析

    PHP 七大优势分析

    ASP是微软公司实现动态网页的一种技术。ASP支持一些脚本语言,主要以VBScripp为主。与ASP相比较,你还可以选择另一中开放源代码编程语言——PHP,PHP可以运行在多种操作系统下,其中包括Linux和windows。
    2009-06-06
  • PHP new static 和 new self详解

    PHP new static 和 new self详解

    使用 self:: 或者 __CLASS__ 对当前类的静态引用,取决于定义当前方法所在的类:使用 static:: 不再被解析为定义当前方法所在的类,而是在实际运行时计算的。也可以称之为“静态绑定”,因为它可以用于(但不限于)静态方法的调用。
    2017-02-02
  • 深入php var_dump()函数的详解

    深入php var_dump()函数的详解

    本篇文章是对php var_dump()函数进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP遍历数组的6种方式总结

    PHP遍历数组的6种方式总结

    数组的遍历是PHP一个常见的编程任务,而数组又分为一维数组、二维数组和多维数组,下面这篇文章主要给大家介绍了关于PHP遍历数组的6种方式,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-11-11
  • PHP中使用循环实现的金字塔图形

    PHP中使用循环实现的金字塔图形

    这篇文章主要介绍了PHP中使用循环实现的金字塔图形,本文是一篇PHP的课堂笔记,完成老师的作业总结而来,需要的朋友可以参考下
    2014-11-11

最新评论