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

这个索引值除了方便面数据的记录和搜索,还起着记录日期资讯的作用,信息量很可观。
那么,如何还原索引值为可用的日期资讯呢?
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。

(0)

相关推荐

  • php计算两个日期相差天数的方法

    本文实例讲述了php计算两个日期相差天数的方法.分享给大家供大家参考.具体实现方法如下: <?php /** * 求两个日期之间相差的天数 * (针对1970年1月1日之后,求之前可以采用泰勒公式) * @param string $day1 * @param string $day2 * @return number */ function diffBetweenTwoDays ($day1, $day2) { $second1 = strtotime($day1); $second2 = s

  • 计算一段日期内的周末天数的php代码(星期六,星期日总和)

    复制代码 代码如下: /* | Author: Yang Yu <niceses@gmail.com> | @param char|int $start_date 一个有效的日期格式,例如:20091016,2009-10-16 | @param char|int $end_date 同上 | @return 给定日期之间的周末天数 */ function get_weekend_days($start_date,$end_date){ if (strtotime($start_date) &

  • php准确计算复活节日期的方法

    本文实例讲述了php准确计算复活节日期的方法.分享给大家供大家参考.具体如下: <?PHP function isLeapYear( $nYEAR ) { if((($nYEAR % 4 == 0) AND !($nYEAR % 100 == 0)) AND ($nYEAR % 400 != 0)) { return TRUE; } else { return FALSE; } } function div( $a, $b ){ return( $a - ( $a % $b )) / $b; }

  • php计算两个日期时间差(返回年、月、日)

    在PHP程序中,很多时候都会遇到处理时间的问题,比如:判断用户在线了多长时间,共登录了多少天,两个帖子发布的时间差或者是不同操作之间的日志记录等等.在文章中,简单地举例介绍了PHP中如何计算两个日期相差 年.月.日. <?php /** +---------------------------------------------------------- * 功能:计算两个日期相差 年 月 日 +--------------------------------------------------

  • PHP计算日期相差天数实例分析

    本文实例分析了PHP计算日期相差天数的方法.分享给大家供大家参考,具体如下: <?PHP //今天与2016年10月27日相差多少天 $Date_1=date("Y-m-d"); $Date_2="2016-10-27"; $d1=strtotime($Date_1); $d2=strtotime($Date_2); $Days=round(($d1-$d2)/3600/24); echo "今天与2016年10月27日相差".$Days.

  • PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)

    本文实例讲述了PHP日期与时间操作技巧.分享给大家供大家参考,具体如下: Demo1.php <?php //验证时间 //checkdate() 1.月份 2.日 3.年 //checkdate() 判断这个日期是否是合法的日期 //不合法的日期,试一试 if(checkdate(7,16,2010)){ echo '这个日期是合法有效的'; }else{ echo '这个日期是非法的.'; } ?> Demo2.php <?php //date -- 格式化一个本地时间/日期 //d

  • 分享PHP计算两个日期相差天数的代码

    本文实例讲述了php计算两个日期相差天数的方法.分享给大家供大家参考.具体实现方法如下: <?php $date1 = date( 'Y-m-d' ); $date2 = "2015-12-04"; $diff = abs(strtotime($date2) - strtotime($date1)); $years = floor($diff / (365*60*60*24)); $months = floor(($diff - $years * 365*60*60*24) /

  • PHP使用strtotime计算两个给定日期之间天数的方法

    本文实例讲述了PHP使用strtotime计算两个给定日期之间天数的方法.分享给大家供大家参考.具体分析如下: PHP的strtotime函数用于将任何英文文本的日期时间描述解析为Unix时间戳.这个函数将使用TZ环境变量(如果有的话)来计算时间戳.如果执行成功它返回一个时间戳,否则返回FALSE.在PHP 5.1.0之前,这个函数将返回-1. $date1 = date('Y-m-d'); $date2 = '2005-03-01′; $days = (strtotime() – strtot

  • PHP中UNIX时间戳和日期间的转换与计算实例

    UNIX时间戳是保存日期和时间的一种紧凑简洁的方法,是大多数UNIX系统中保存当前日期和时间的一种方法,也是在大多数计算机语言中表示日期和时间的一种标准格式.以32位整数表示格林威治标准时间,例如,使用证书11230499325表示当前时间的时间戳.UNIX时间戳是从1970年1月1日零点(UTC/GMT的午夜)开始起到当前时间所经过的秒数.1970年1月1日零点作为所有日期计算的基础,这个日期通常成为UNIX纪元. 因为UNIX时间戳是一个32位的数字格式,所以特别适用于计算机处理,例如计算两

  • php计算到指定日期还有多少天的方法

    本文实例讲述了php计算到指定日期还有多少天的方法.分享给大家供大家参考.具体如下: function countdays($d) { $olddate = substr($d, 4); $newdate = date(Y) ."".$olddate; $nextyear = date(Y)+1 ."".$olddate; if($newdate > date("Y-m-d")) { $start_ts = strtotime($newda

  • PHP计算指定日期所在周的开始和结束日期的方法

    本文实例讲述了PHP计算指定日期所在周的开始和结束日期的方法.分享给大家供大家参考.具体实现方法如下: <html> <head> <title>计算一周开始结束日期</title> </head> <body> <form method="post" action="./index.html" enctype="utf-8"> <table> <

  • 探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数

    使用PHP实现计算两个日期间隔的年.月.周.日数: 复制代码 代码如下: <?php    function format($a,$b){        //检查两个日期大小,默认前小后大,如果前大后小则交换位置以保证前小后大        if(strtotime($a)>strtotime($b)) list($a,$b)=array($b,$a);        $start  = strtotime($a);        $stop   = strtotime($b);       

  • PHP计算一年多少个星期和每周的开始和结束日期

    项目中需要做个提交周报的功能,需要知道指定周数的开始日期和结束日期,以便处理其他业务.以下是一段通过PHP来获取一年中的每星期的开始日期和结束日期的代码,与大家分享. 复制代码 代码如下: function get_week($year) {     $year_start = $year . "-01-01";     $year_end = $year . "-12-31";     $startday = strtotime($year_start);    

  • php计算给定日期所在周的开始日期和结束日期示例

    本文实例讲述了php计算给定日期所在周的开始日期和结束日期.分享给大家供大家参考,具体如下: <?php /** * 取得给定日期所在周的开始日期和结束日期 * @param string $gdate 日期,默认为当天,格式:YYYY-MM-DD * @param int $weekStart 一周以星期一还是星期天开始,0为星期天,1为星期一 * @return array 数组array( "开始日期 ", "结束日期"); */ function ge

随机推荐