php日期时间

Unix 时间戳 :

自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数 .
相关函数:
time( ): 函数返回一个当前系统的时间戳
mktime( ): 取得一个日期的 Unix 时间戳
格式:int mktime(时[,分[,秒[,月[,日[,年[,is_dst区]]]]]]);
注意:is_dst参数表示是否为夏时制,PHP5.10后此参数已废除。
strtotime( ):将任何英文文本的日期时间描述解析为 Unix 时间戳

格式:int strtotime ( string $time [, int $now ] )

<?php
	date_default_timezone_set("PRC");
	$y=1981;
	$m=11;
	$d=5;
	$t=mktime(0,0,0,$m,$d,$y);//时间超了自动转化取余 多的加前面
	$dtime=time();
	echo floor(($dtime-$t)/60/60/24);

<?php
	date_default_timezone_set("PRC");
	$a="2016-9-10 10:0:0";
	$b="2016-2-20";
	echo floor((strtotime($b)-strtotime($a))/(24*60*60));

-204

<?php
	date_default_timezone_set("PRC");
	$start=microtime(true);
	for($i=0;$i<10000;$i++)
	$end=microtime(true);
	echo $end-$start; 


日期和时间的格式化输出

date -- 格式化一个本地时间/日期
格式:string date ( string format [, int timestamp] )
返回将整数 timestamp 按照给定的格式字串而产生的字符串。如果没有给出时间戳则使用本地当前时间。换句话说,timestamp 是可选的,默认值为 time()(当前时间戳)。
例如:
  echo date(“Y年m月d日 H:i:s”); //2010年10月28日 14:22:28
常用参数:
Y:四位数年   m:月01-12   n:月1-12         d:天01-31  j:天1-31
H:时24时制   h:小时12制  i:分钟00-59  s:秒00-59  w:星期几0-6
A:上午AM或下午PM          a:上午am或下午pm。

修改PHP的默认时区

<?php
	date_default_timezone_set("PRC");
	$t=time();
	echo date("Y-m-d H:i:s")."<br>";
	echo date("Y/m/d H:i:s",$t)."<br>";
	

2016-02-20 19:31:46
2016/02/20 19:31:46

修改PHP的默认时区有两种方式:

1、修php.ini配置文件:
date.timezone = Etc/GMT+8
2、date_default_timezone_set( ): -- 设定用于一个脚本中所有日期时间函数的默认时区 。
如:date_default_timezone_set(“PRC”); //中国时区。
date_default_timezone_get( ): -- 获取当前时区

输出当前月份的日历

<?php
	$year=isset($_GET['year'])?$_GET['year']:date("Y");
	$month=isset($_GET['month'])?$_GET['month']:date("m");
	$day=isset($_GET['day'])?$_GET['day']:date("d");
	$days=date("t",mktime(0,0,0,$month,1,$year));
	$start=date("w",mktime(0,0,0,$month,1,$year));
	echo "今天是{$year}年{$month}月{$day}日,距离开学还剩两周!!<br>";
	echo '<table border="1" width="300" align="center">';
	echo '<tr>';
	echo '<th style="background:blue">Sun</th>';
	echo '<th style="background:blue">Mon</th>';
	echo '<th style="background:blue">Tus</th>';
	echo '<th style="background:blue">Wed</th>';
	echo '<th style="background:blue">Thur</th>';
	echo '<th style="background:blue">Fri</th>';
	echo '<th style="background:blue">Sat</th>';
	echo '</tr>';
	echo '<tr>';
	for($i=0;$i<$start;$i++) echo "<td> </td>";
	for($j=1; $j <= $days; $j++) {
		$i++;

		if($j==$day) {
			echo "<td style='background:green'>{$j}</td>";
		
		}else{

			echo "<td>{$j}</td>";
		}

		if($i%7 ==0 ){
			echo '</tr><tr>';
		}
	}
 	

	while($i%7!==0) {
		echo '<td> </td>';
		$i++;
	}
	echo '</tr>';
	echo '</table>';
by the way 还记不记得linux中关于日期的输出~

$ date输出星期 月份 日期 小时:分:秒 时区 年

$ date +%Y/%m/%d 格式输出 其他相同

$ cal 显示当前月份日历

$cal+年份 显示这年的日历

你可能感兴趣的:(PHP)