博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP中时间和日期函数总结
阅读量:4164 次
发布时间:2019-05-26

本文共 3291 字,大约阅读时间需要 10 分钟。

PHP教程:  

  

           

           

 

 

===========================================================

 

 

PHP中所有函数都是UNIX纪元的,即从1970年1月1日的。日期是从这个开始的秒数。当函数调用从这时候计的秒数时,就把它当作(timestamp)时间戳。

本地时间函数
1. string date(string format,inieger timestamp)
该函数返回一个表示时间的字符串,是由string format 控制的。
如:
print(date("Y年 m月d日");//输出当前,年月日.
print(date("Y年 m月d日",60*60*24*365*10);//输出1980年1月1日.
?>
也许你会问,怎麽timestamp呢?若timestamp为空时,或不写时,表示当前时间一刻timestamp.
表示年份的控制符: Y---四位的年份 y---两位的年份
表示月份的控制符: m---从1-12的月份 F---英文月份名 M---简写的月份名
表示日号的控制符: d---前面有0的月份中日期 j--前面没有0的日号
表示星期的控制符: l--英文星期 D--简写的星期
表示小时的控制符: h--从1到12小时 H---从0到23的小时
表示上下午的控制符 a ---am或pm A---AM或PM
表示分钟的控制符: i---取值00-59
另外的 z--一年中的日期
2. array getdate(integer timestamp)
该函数返回一个矩阵.
如:
$current_date=getdate();
print($current_date("hours"));
print($current_date("minutes");
print($current_date("seconds");
?>
说明:
元素 描述
hours 24小时格式的小时
mday 月份中日期
minutes 分钟
mon 数字形式的月份
month 月份全称
seconds 秒数
wday 从0到6的数字形式的星期几
weekday 星期几的名称
year 年份
0 时间戳即从1970年1月1日到现在的秒数
yday 一年中数字形式的日期
3. boolean checkdate(integer month,integer day,integer year)
该函数检查日期是否合法.如:
if(checkdate(2,29,1980))
print("日期合法!n");
?>
4. integer time()
该函数获得当前时间戳.如:
print(time());//输出一大串整数
?>
5. integer mktime(integer hour,integer minutes,integer seconds,integer month, integer day,integer year)
该函数返回给出日期的时间戳,即从1970年1月1日到现在的秒数.
如某参数超出范围,该函数也可以它,如13月即为第二年的一月.
如:
$currenthour=date("H");
print("50个小时后为:");
print(date("h:i A l F dS,Y",mktime($currenthour+50)));
print("
n");
?>
6. string microtime()
该函数返回一个字符串,由当前时间的毫秒数+空格+从1970年开始的秒数
print("start:microtime()
n");
for($index=0;$index<1000;$index++)
print("good!");
print("stop:microtime()
n");
?>
还有,各林威治标准时间函数,不常用我就不说了!常用的就这些。

==================

   我想有很多人都在用date()函数来获取时间,然后在数据库中,使用datetime格式来储存,这个方法不是说比用time()函数差,只不过在PHP中使用time函数获得的是Unix时间戳,这个是很精确的时间,关于Unix时间戳,大概是这个意思,从1970年0时0分0秒开始到现在的秒数.使用它来获得的是一个INT值,储存在数据库里只要使用INT格式就可以了,方便数据库进行排序,搜索,而且比datetime格式更节省数据库空间。所以我建议大家使用time函数来获得时间。

     那么如何来使用time函数呢.下面我给个例子大家就会明白了

$time=time()   

/* 下面是显示怎么输出,在实际使用当中,我们只要把上面获得的时间储存在数据库中,需要显示的时候在用下面的方法来使用*/
$time=date("y-m-d H:i:s",$time);   
//然后我们把$time当成date()函数的参数用"Y-m-d   
//H:i:S"的格式来输出,这样比较方便我们查看   
echo $time;   
//输出的结果应该是类似2006-11-22 22:42:23的时间格式   
?>

 

=======================

格式化系统时间$_SERVER['REQUEST_TIME']

2008-07-11 14:11

   $thisdate=date('Y-m-d',$_SERVER['REQUEST_TIME']);

    $thisdate_arr=explode("-",date('Y-m-d',$_SERVER['REQUEST_TIME']));
    $thisyear=$thisdate_arr[0];
    $thismonth=$thisdate_arr[1];
    $thisday=$thisdate_arr[2];
    echo $thisyear,'年',$thismonth,'月',$thisday,'日';
    echo '
';
    //var_dump($thisdate_arr);
    echo '
';
    $month = (int)$thismonth;//php中将string(字符串型)转换为int(整型);
    //var_dump($month);
?>

 

=================

上网都到这么一个函数:

function tranTime($time){

$rtime = $time;
$time = time()-$time;

if ($time<60){

$str = "刚刚";
}elseif ($time<60*10){
$str = "一分钟前";
}elseif ($time<60*20){
$str = "十分钟前";
}elseif ($time<60*60){
$str = "三十分钟前";
}elseif ($time<60*60*2){
$str = "一小时前";
}elseif ($time<60*60*5){
$str = "两小时前";
}elseif ($time<60*60*12){
$str = "五小时前";
}elseif ($time<60*60*24){
$str = "十二小时前";
}elseif ($time<60*60*24*2){
$str = "一天前";
}elseif ($time<60*60*24*5){
$str = "两天前";
}elseif ($time<60*60*24*7){
$str = "五天前";
}elseif ($time<60*60*24*7*2){
$str = "一周前";
}elseif ($time<60*60*24*7*3){
$str = "两周前";
}elseif ($time<60*60*24*7*3){
$str = "三周前";
}else{
$str = date("y/m/d",$rtime);
}
return $str;
}

 

转载地址:http://outxi.baihongyu.com/

你可能感兴趣的文章
小程序的今天就是微信指数的明天
查看>>
从互联网到人工智能,BAT这七年来到底做了什么
查看>>
2012年十大科技趋势:Siri将震惊世界
查看>>
2017(第十届)中国绿公司年会马云演讲
查看>>
李彦宏:睡不着觉不是因对手
查看>>
从手Q与微信之争,看腾讯内在的真实矛盾与战略
查看>>
移动互联网的七宗败案
查看>>
互联网十大失败案
查看>>
小米颓势已现,生死劫命悬手机
查看>>
三大隐忧 三星未来路在何方?
查看>>
linux下各种进制转化最简单的的命令行
查看>>
结构体和联合体
查看>>
ACM(Association for Computing Machinery )组织的详细介绍
查看>>
unix高级编程之-命令行参数(实践一)
查看>>
无线网络加密方式对比 .
查看>>
linux中cat命令使用详解
查看>>
卸载oracle
查看>>
hive 自定义函数jar发布的方法
查看>>
对DMA传输机制的学习
查看>>
QT中this指针
查看>>