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计算两个路径的相对路径
Jun 14 PHP
解析php中如何调用用户自定义函数
Aug 06 PHP
php开发中的页面跳转方法总结
Apr 26 PHP
php把大写命名转换成下划线分割命名
Apr 27 PHP
使用PHP生成二维码的方法汇总
Jul 22 PHP
phalcon model在插入或更新时会自动验证非空字段的解决办法
Dec 29 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
Feb 06 PHP
ThinkPHP框架中使用Memcached缓存数据的方法
Mar 31 PHP
PHP使用curl_multi实现并发请求的方法示例
Apr 29 PHP
PHP7新特性之抽象语法树(AST)带来的变化详解
Jul 17 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
Jun 24 PHP
thinkphp 获取控制器及控制器方法
Apr 16 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扩展编写点滴 技巧收集
2010/03/09 PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
2014/08/19 PHP
php中rename函数用法分析
2014/11/15 PHP
ecshop后台编辑器替换成ueditor编辑器
2015/03/03 PHP
Laravel自动生成UUID,从建表到使用详解
2019/10/24 PHP
javascript的数据类型、字面量、变量介绍
2012/05/23 Javascript
js判断样式className同时增加class或删除class
2013/01/30 Javascript
jquery click([data],fn)使用方法实例介绍
2013/07/08 Javascript
利用jquery包将字符串生成二维码图片
2013/09/12 Javascript
基于jquery ui的alert,confirm方案(支持换肤)
2015/04/03 Javascript
javascript中if和switch,==和===详解
2015/07/30 Javascript
JS实现网页标题随机显示名人名言的方法
2015/11/03 Javascript
AngularJS中如何使用$parse或$eval在运行时对Scope变量赋值
2016/01/25 Javascript
js点击按钮实现水波纹效果代码(CSS3和Canves)
2016/09/15 Javascript
require.js 加载 vue组件 r.js 合并压缩的实例
2016/10/14 Javascript
Bootstrap基本样式学习笔记之标签(5)
2016/12/07 Javascript
JavaScript制作简易计算器(不用eval)
2017/02/05 Javascript
angular4中关于表单的校验示例
2017/10/16 Javascript
浅谈Node.js CVE-2017-14849 漏洞分析(详细步骤)
2017/11/10 Javascript
详解javascript常用工具类的封装
2018/01/30 Javascript
jQuery实现标签子元素的添加和赋值方法
2018/02/24 jQuery
用js编写留言板
2020/03/17 Javascript
Python的组合模式与责任链模式编程示例
2016/02/02 Python
python Django批量导入数据
2016/03/25 Python
pytorch 利用lstm做mnist手写数字识别分类的实例
2020/01/10 Python
Python中logging日志库实例详解
2020/02/19 Python
django使用多个数据库的方法实例
2021/03/04 Python
CSS3五个技巧给你的网站带来出色的效果
2009/04/02 HTML / CSS
简单介绍HTML5中audio标签的使用
2015/09/24 HTML / CSS
英国最大最好的无人机商店:Drones Direct
2019/07/12 全球购物
买卖正宗运动鞋:GOAT
2019/12/06 全球购物
一套带答案的C++笔试题
2014/01/10 面试题
高中生期末评语大全
2014/01/28 职场文书
财务部总监岗位职责
2014/03/12 职场文书
小学生国庆节演讲稿
2014/09/05 职场文书
node.js使用express-fileupload中间件实现文件上传
2021/07/16 Javascript