常用模块~PHP时间戳与日期.

第1章 Unix 时间戳

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 ] )

案例:

//系统时间戳
echo "当前系统的时间戳:".time(); //秒数

//mktime -- 给我一个年月日时分秒,我返还给你一个时间戳,用的非常少
echo "获取指定日期2033-2-12的时间戳:".mktime(0,0,0,2,12,2033);

//strtotime() -- 如果使用也是用这个
echo "获取指定日期2034-1-1的时间戳:".strtotime('2034-1-1');
echo "获取3天前的时间戳:".strtotime('-3 day');
echo "获取3天后的时间戳:".strtotime('3 day');

第2章 在 PHP 中获取日期和时间

getdate -- 取得日期/时间信息。

	格式:array getdate ( [int timestamp] )
	 返回一个根据 timestamp 得出的包含有日期信息的结合数组。如果没有给出时间戳则认为是当前本地时间。
//getdate --- 获取日期/时间信息

$date = getdate();//当前日期信息
//$date = getdate(234456768);//获取指定时间戳的日期信息

echo "<pre>";//格式化输出
print_r($date);//打印时间数组

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。**

案例:

//date --- 格式化一个本地时间/日期
echo date("Y年m月d",time());
echo date("Y/m/d",time());
echo date("Y-m-d H:i:s");//不写第二个参数默认是当前时间戳

第3章 修改PHP的默认时区

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

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

案例:

date_default_timezone_set('PRC');//设置中国时区

//date --- 格式化一个本地时间/日期
echo date("Y年m月d",time());
echo date("Y/m/d",time());
echo date("Y-m-d H:i:s");//不写第二个参数默认是当前时间戳

第4章 使用微秒计算PHP脚本执行时间

1毫秒(ms) = 0.001秒(s)

1微秒(μs) = 0.001毫秒(ms)

1纳秒(ns) = 0.001微秒(μs)

microtime -- 返回当前 Unix 时间戳和微秒数

    格式:mixed microtime ( [bool get_as_float] ) 
    microtime() 当前 Unix 时间戳以及微秒数。
     如果调用时不带可选参数,本函数返回一个字符串,其中后者是自 Unix 纪元(0:00:00 January 1, 1970 GMT)起到现在的秒数,前者 是微秒部分。
    如果给出了参数并且其值等价于 TRUE,microtime() 将返回一个截取为小数点4带秒数为浮点数。
$start = microtime(true);

for($i=1;$i<10000;$i++) {
	$tmp = 13333/234;
}

$end = microtime(true);
echo $end - $start;

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券