php checkdate、getdate等日期时间函数操作详解


Posted in PHP onMarch 11, 2010

checkdate($month,$date,$year)

如果应用的值构成一个有效日期,则该函数返回为真。例如,对于错误日期2005年2月31日,此函数返回为假。

在日期用于计算或保存在数据库中之前,可用此函数检查日期并使日期生效。

<?php 
// returns false 
echo checkdate(2,30,2005) ? "valid" : "invalid"; 
// returns true 
echo checkdate(4,6,2010) ? "valid" : "invalid"; 
?>

getdate($ts)


在没有自变量的情况下,该函数以结合数组的方式返回当前日期与时间。数组中的每个元素代表日期/时间值中的一个特定组成部分。可向函数提交可选的时间标签自变量,以获得与时间标签对应的日期/时间值。

应用此函数来获得一系列离散的,容易分离的日期/时间值。

<?php 
// get date as associative array 
$arr = getdate(); 
echo "Date is " . $arr['mday'] . " " . $arr['weekday'] . " " . $arr['year']; 
echo "Time is " . $arr['hours'] . ":" . $arr['minutes']; 
?>

mktime($hour, $minute, $second, $month, $day, $year)


此函数的作用与getdate()的作用相反:它由一系列的日期与时间值生成一个UNIX时间标签(GMT时间1970年1月1日到现在消逝的秒数)。不用自变量时,它生成当前时间的UNIX时间标签。

用此函数获得即时时间的UNIX时间标签。这种时间标签通常用于许多数据库与程序语言中。

<?php 
// returns timestamp for 13:15:23 7-Jun-2006 
echo mktime(13,15,23,6,7,2006); 
?>

date($format, $ts)


此函数将UNIX时间标签格式化成一个可人为阅读的日期字符串。它是PHP日期/时间API中功能最为强大的函数,可用在一系列的修正值中,将整数时间标签转变为所需的字符串格式。

为显示格式化时间或日期时,应用此函数。

<?php 
// format current date 
// returns "13-Sep-2005 01:16 PM" 
echo date("d-M-Y h:i A", mktime()); 
?>

strtotime($str)


此函数将可人为阅读的英文日期/时间字符串转换成UNIX时间标签。

应用此函数将非标准化的日期/时间字符串转换成标准、兼容的UNIX时间标签。

<?php 
// returns 13-Sep-05 
echo date("d-M-y", strtotime("today")); 
// returns 14-Sep-05 
echo date("d-M-y", strtotime("tomorrow")); 
// returns 16-Sep-05 
echo date("d-M-y", strtotime("today +3 days")); 
?>

strftime($format,$ts)


如前面的setlocale()函数定义的那样,此函数将UNIX时间标签格式化成适用于当前环境的日期字符串。

应用此函数建立与当前环境兼容的日期字符串。

<?php 
// set locale to France (on Windows) 
setlocale(LC_TIME, "fra_fra"); 
// format month/day names 
// as per locale setting 
// returns "septembre" and "mardi" 
echo strftime("Month: %B "); 
echo strftime("Day: %A "); 
?>

microtime()

如前面的setlocale()函数定义的那样,此函数将UNIX时间标签格式化成适用于当前环境的日期字符串。

应用此函数建立与当前环境兼容的日期字符串。

<?php 
// get starting value 
$start = microtime(); 
// run some code 
for ($x=0; $x<1000; $x++) { 
$null = $x * $x; 
} 
// get ending value 
$end = microtime(); 
// calculate time taken for code execution 
echo "Elapsed time: " . ($end - $start) ." sec"; 
?>

gmmktime($hour, $minute, $second, $month, $day, $year)


此函数由一系列用GMT时间表示的日期与时间值生成一个UNIX时间标签。不用自变量时,它生成一个当前GMT即时时间的UNIX时间标签。

用此函数来获得GMT即时时间的UNIX时间标签。

<?php 
// returns timestamp for 12:25:23 9-Jul-2006 
echo gmmktime(12,25,23,7,9,2006); 
?>

gmdate($format, $ts)


此函数将UNIX时间标签格式化成可人为阅读的日期字符串。此日期字符串以GMT(非当地时间)表示。

用GMT表示时间标签时应用此函数。

<?php 
// format current date into GMT 
// returns "13-Sep-2005 08:32 AM" 
echo gmdate("d-M-Y h:i A", mktime()); 
?>

date_default_timezone_set($tz)、date_default_timezone_get()


此函数此后所有的日期/时间函数调用设定并恢复默认的时区。

注:此函数仅在PHP 5.1+中有效。

此函数是一个方便的捷径,可为以后的时间操作设定时区。

<?php 
// set timezone to UTC 
date_default_timezone_set('UTC'); 
?>
PHP 相关文章推荐
PHP daddslashes 使用方法介绍
Oct 26 PHP
PHP命名空间(Namespace)简明教程
Jun 11 PHP
php按字符无乱码截取中文的方法
Mar 27 PHP
php中关于socket的系列函数总结
May 18 PHP
PHP版本常用的排序算法汇总
Dec 20 PHP
CI框架出现mysql数据库连接资源无法释放的解决方法
May 17 PHP
php版微信公众平台回复中文出现乱码问题的解决方法
Sep 22 PHP
php mysql like 实现多关键词搜索的方法
Oct 29 PHP
Zend Framework实现自定义过滤器的方法
Dec 09 PHP
对于Laravel 5.5核心架构的深入理解
Feb 22 PHP
php报错502badgateway解决方法
Oct 11 PHP
PhpStorm2020 + phpstudyV8 +XDebug的教程详解
Sep 17 PHP
PHP 5.3新特性命名空间规则解析及高级功能
Mar 11 #PHP
PHP Memcached + APC + 文件缓存封装实现代码
Mar 11 #PHP
了解Joomla 这款来自国外的php网站管理系统
Mar 11 #PHP
PHP调用Twitter的RSS的实现代码
Mar 10 #PHP
PHP中include()与require()的区别说明
Mar 10 #PHP
PHP扩展编写点滴 技巧收集
Mar 09 #PHP
php 修改zen-cart下单和付款流程以防止漏单
Mar 08 #PHP
You might like
深入解析php模板技术原理【一】
2008/01/10 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
2015/01/07 PHP
javascript多种数据类型表格排序代码分析
2010/09/11 Javascript
jqeury-easyui-layout问题解决方法
2014/03/24 Javascript
node.js中的path.normalize方法使用说明
2014/12/08 Javascript
jQuery插件Skippr实现焦点图幻灯片特效
2015/04/12 Javascript
基于jquery实现复选框全选,反选,全不选等功能
2015/10/16 Javascript
FullCalendar日历插件应用之数据展现(一)
2015/12/23 Javascript
AngularJS 实现JavaScript 动画效果详解
2016/09/08 Javascript
jQuery实现复制到粘贴板功能
2017/02/11 Javascript
jQuery插件zTree实现删除树子节点的方法示例
2017/03/08 Javascript
让你彻底掌握es6 Promise的八段代码
2017/07/26 Javascript
Node.js中你不可不精的Stream(流)
2018/06/08 Javascript
Vue引入sass并配置全局变量的方法
2018/06/27 Javascript
axios简单实现小程序延时loading指示
2018/07/30 Javascript
在小程序中推送模板消息的实现方法
2019/07/22 Javascript
layui问题之自动滚动二级iframe页面到指定位置的方法
2019/09/18 Javascript
浅谈JavaScript中this的指向更改
2020/07/28 Javascript
使用python调用浏览器并打开一个网址的例子
2014/06/05 Python
举例讲解Python中字典的合并值相加与异或对比
2016/06/04 Python
Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
2018/01/11 Python
Python中循环引用(import)失败的解决方法
2018/04/22 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
2019/05/04 Python
Python实现word2Vec model过程解析
2019/12/16 Python
Tensorflow中tf.ConfigProto()的用法详解
2020/02/06 Python
Python调用OpenCV实现图像平滑代码实例
2020/06/19 Python
python爬虫scrapy基于CrawlSpider类的全站数据爬取示例解析
2021/02/20 Python
美国时装品牌:Nautica(诺帝卡)
2016/08/28 全球购物
世界上最好的精品店:Shoptiques
2018/02/05 全球购物
吉尔德利巧克力公司:Ghirardelli Chocolate Company
2019/03/27 全球购物
企业授权委托书范本
2014/04/02 职场文书
数字化校园建设方案
2014/05/03 职场文书
初婚初育证明范本
2014/11/24 职场文书
离婚案件原告代理词
2015/05/23 职场文书
MySql存储过程之逻辑判断和条件控制
2021/05/26 MySQL
yyds什么意思?90后已经听不懂00后讲话了……
2022/02/03 杂记