PHP的日期和时间--php基础最详细教程

原创 2016年08月30日 22:04:59

PHP的日期和时间 原创



介绍UNIX时间戳


简介:以最小从0开始,最大到2的32次方减一的整数表示格林威治标准时间如112304325
这个UNIX时间戳整数是从1970年1月1日0时0分0秒开始(计算机元年)到现在的秒数。
作用:方便我们计算使用(参与运算)
时间范围 1970-01-01 0:0:0 到2038-01-19 11:14:07     时间戳范围1-2147483647  int 


在PHP中获取日期和时间


1. int time ( void )  time() 当前时间戳
2.array getdate ([ int $timestamp = time() ] ) 默认返回当前时间日期格式化的数组。 如果传参,就传时间戳类型的参数。
   [secondes] =>41                秒
   [minutes] => 33         分钟
   [hours] => 7                  小时   
   [mday] => 12               一个月中的第几天
   [wday] =>  5                一个星期的第几天
   [mon] => 11                数字型月份
   [year] => 2010           年份 
   [yday] => 315            一年中的第几天
  [weekday] => Friday    英文星期几
  [month] => November   英文月份
  [0] => 1289547221      时间戳
3.strtotime()  功能与mktime()相似返回时间戳
int strtotime ( string $time [, int $now = time() ] ) 定义:将任何英文文本的日期时间描述解析为 Unix 时间戳
<?php
echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
?> 


       时间日期格式化输出
(把时间戳转换成日期时间)


string date ( string $format [, int $timestamp ] )
date('Y-m-d H:i:s'); 默认转化当前时间戳
date('Y-m-d H:i:s',1285947221); 转换给定第二参数的时间戳
说明:format参数比较多,可以根据需要使用不同参数。


把日期和时间转成时间戳格式


int mktime(时,分,秒,月,日,年); 
说明:有自动校正功能
mktime(0,0,0,12,36,2007); 2008-01-05 0:0:0 的时间戳
mktime(0,0,0,12,30,99); 1999-12-30 0:0:0 的时间戳


通过用户输入的生日信息,转换为时间戳来算用户生日:
<?php
date_default_timezone_set('PRC');


$bir = '1987-02-24';
list($year,$month,$day) = explode('-',$bir);


$age = floor((time() - mktime(0,0,0,2,24,1987))/(60*60*24*365));


echo $age;


修改PHP的默认时区


第一种方式:修改php.ini文件来修改默认时区。
      date.timezone = Etc/GMT+8
说明:尽量不要改配置文件,通过函数设置,然后include到每个文件中是最好的选择。


第二种方式:通过函数来修改时区时间,只对使用此函数的页面生效。
date_default_timezone_set('PRC');  首选此方式
date_default_timezone_set('Etc/GMT-8'); 
date_default_timezone_set('Asia/Shanghai');
建议:服务器每半小时同步一次。


使用微秒计算PHP脚本执行的时间


微秒时间函数:mixed microtime ([ bool $get_as_float ] ) 
   不填写参数时,会返回微秒数 和 时间戳
    填写true时,只会返回微秒数。


实例:
<?php
date_default_timezone_set('PRC');


class Timer {
private $startTime;
private $stopTime;


function _construct(){
$this->startTime = 0;
$this->stopTime = 0;
}
function start(){
$this->startTime = microtime(true);
echo $this->startTime;
}
function stop(){
$this->stopTime = microtime(true);
echo $this->stopTime;
}
function spent(){
return round(($this->stopTime)-($this->startTime),4);
}



$timer = new Timer;
$timer->start();
echo '<br>';
for($i = 0 ;$i < 10000;$i++){


}
$timer->stop();
echo '<br>';
echo $timer->spent();
echo '<br>';




日历示例


版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wulove52/article/details/52373540

PHP7日期时间模块

King老师精心打造的PHP7日期时间模块课程,由浅入深的讲解了PHP中日期时间函数模块,并介绍了一些常用的日期时间插件,让我们一起开启日期时间之旅吧~ 山哥出品,必属精品!
  • 2017年08月20日 09:45

PHP字符串、日期和时间

1.格式化字符串 1.1 使用printf() 数据类型转换 printf("This is my number:%o",55);//This is my number:67转换类型以%开头,后面紧...
  • flyingdream123
  • flyingdream123
  • 2017-01-15 21:16:23
  • 655

PHP 循环输出今天及以后九天的时间

$d = time(); for ($i = 0; $i echo ''.date('Y-m-d',$d); $d += 86400; } ?>
  • haibo0668
  • haibo0668
  • 2016-06-02 13:07:45
  • 331

(5) php校验时间的合法性 && work attitude 20151020 ):

1.工作态度 ) : vi中使用过程中无意增加了i 导致sql出错,复制粘贴错位置致使sql出错。 使用vim要非常注意,一不小心就会有bug,且测试不一定测试出来。如下两处错误说明 工作态度不够...
  • pandajava
  • pandajava
  • 2015-10-20 15:15:00
  • 1021

php 获取开始日期与结束日期之间所有日期

本文提供一个方法,可以获取开始日期与结束日期之间所有的日期,并放入数组保存。...
  • fdipzone
  • fdipzone
  • 2016-06-23 19:55:26
  • 32771

PHP中日期遍历

$start=new DateTime('2017-02-20'); $end=new DateTime('2017-03-10'); foreach(new Date...
  • bluehire
  • bluehire
  • 2017-09-22 16:48:27
  • 286

php根据开始日期和结束日期得到时间数组

话不多说,直接上代码。 $stime=$stime;//开始时间 $etime=$etime;//结束时间 while($stime $datearr[] = date('Y-m-d',$e...
  • u010674395
  • u010674395
  • 2015-01-10 22:46:40
  • 1909

PHP 时间操作(获取一周前、明天的日期)

date("Y-m-d", strtotime("-1 week"));    //一周前 date("Y-m-d",strtotime("+1 day"));    //明天 date("Y")+...
  • PHP_Bun
  • PHP_Bun
  • 2016-09-01 17:41:04
  • 6985

PHP strtotime指定日期上增加一天

strtotime($params['date']."+1 day"); strtotime("2016-11-07 +1 day"); strtotime("2016-11-07+1 day");
  • heygirl1
  • heygirl1
  • 2016-11-07 14:20:44
  • 5271

PHP 生成日期 区间

/** * @param string $hisStart * @param string $hisEnd * @param int $range * * @return array ...
  • default7
  • default7
  • 2014-10-28 21:36:07
  • 2786
收藏助手
不良信息举报
您举报文章:PHP的日期和时间--php基础最详细教程
举报原因:
原因补充:

(最多只允许输入30个字)