PHP群:95885625 Hbuilder+MUI群:81989597 站长QQ:634381967
    您现在的位置: 首页 > 开发编程 > PHP教程 > 正文

    PHP Mysql日期和时间函数总结

    作者:admin来源:网络浏览:时间:2020-09-30 00:07:50我要评论
    导读:工作中常用的流程是:将HTML页面的时间转化为时间戳保存到mysql中,从mysql中取出时间戳格式化展示在web或手机客户端。总之mysql中保存的时...
    工作中常用的流程是:将HTML页面的时间转化为时间戳保存到mysql中,从mysql中取出时间戳格式化展示在web或手机客户端。总之mysql中保存的时间是UNIX时间戳,然后被PHP格式化为合适的时间

    介绍几个常用的函数

    1.date(),2.mktime(),3.getdate(),4.strftime()

    1.date()

    PHP中获取时间和日期

    使用date()函数:将时间戳或当前时间转化成格式化的字符串,例如:

    echo date('Y-i-s');//输出2014-3-25

     

    2.mktime()

    使用mktime()将时间转化成UNIX时间戳

    $timestamp = mktime();

    获取当前时间戳有三种方法:

    mktime(),time(),date('U')

    mktime做时间运算

    mktime(12,0,0,$mon,$day+10,$year);十天以后的时间戳

     

    3.getdate()函数:

    $today = getdate();

    print_r($today);

    //输出

    Array
    (
    [seconds] => 38
    [minutes] => 38
    [hours] => 22
    [mday] => 25
    [wday] => 2
    [mon] => 3
    [year] => 2014
    [yday] => 83
    [weekday] => Tuesday
    [month] => March
    [0] => 1395758318
    )

    使用checkdate()函数检验日期有效性

    4.strftime()

    格式化时间戳

    mysql格式化时间

    1.DATE_FORMAT()

    2.UNIX_TIMESTAMP()返回格式化成UNIX时间戳的日期,例如:SELECT UNIX_TIMESTAMP(date) FROM table,这样就可以在PHP中处理了

    PHP中格式化时间的函数比较少,介绍几个常用的格式化时间函数

     一、
    将timestamp时间转化为x时x分x秒

     

     
    复制代码代码如下:
    1. /**
    2.  * 
    3.  *将timestamp时间转化为x时x分x秒
    4.  * 
    5.  */
    6. public static function getTimeLong($seconds) {
    7.     if (!$seconds) {
    8.         return '0秒';
    9.     }
    10.     $ret = '';
    11.     if ($seconds >= 3600) {
    12.         $hours = (int)($seconds / 3600);
    13.         $seconds = $seconds % 3600;
    14.         if ($hours) {
    15.             $ret .= ($hours . '时');
    16.         }
    17.     }
    18.     if ($seconds >= 60) {
    19.         $mi = (int)($seconds / 60);
    20.         $seconds = $seconds % 60;
    21.         if ($mi) {
    22.             $ret .= ($mi . '分');
    23.         }
    24.     }
    25.     if ($seconds) {
    26.         $ret .= ($seconds . '秒');
    27.     }
    28.     return $ret;
    29. }

    二、将相差timestamp转为如“1分钟前”,“3天前”等形式


     
    复制代码代码如下:
    1. /**
    2.  * 将相差timestamp转为如“1分钟前”,“3天前”等形式
    3.  *
    4.  * @param timestamp $ts_diff 当前时间 - 要格式化的timestamp
    5.  */
    6. public static function formatTime($ts_diff)
    7. {
    8.     if ($ts_diff <=0)
    9.     {
    10.         return date('Y-m-d');
    11.     }
    12.     else if ( $ts_diff <= 3600 )
    13.     {
    14.         return max(1, (int)($ts_diff/60)) . '分钟前';
    15.     }
    16.     else if ( $ts_diff <= 86400 )
    17.     {
    18.         return ((int)($ts_diff/3600)) . '小时前';
    19.     }
    20.     else
    21.     {
    22.         return ((int)($ts_diff/86400)) . '天前';
    23.     }
    24. }

    三、将数字星期转换成字符串星期 weekNum2String($num)


     
    复制代码代码如下:
    1. /** 将数字星期转换成字符串星期 weekNum2String($num)
    2.  * @param int
    3.  * @return string
    4.  */
    5. public static function weekNum2String($num){
    6.     switch($num){
    7.         case 1:
    8.             return '星期一';
    9.         case 2:
    10.             return '星期二';
    11.         case 3:
    12.             return '星期三';
    13.         case 4:
    14.             return '星期四';
    15.         case 5:
    16.             return '星期五';
    17.         case 6:
    18.             return '星期六';
    19.         case 7:
    20.             return '星期日';
    21.         default:
    22.             return '未知';
    23.     }
    24. }

    转载请注明(B5教程网)原文链接:https://b5.mxunkeji.com/content-10-319-1.html
    相关热词搜索: date() 日期 时间