dongni3854 2014-03-17 10:14
浏览 41
已采纳

将JS日期格式更改为PHP的函数

I'm trying to convert a javascript date format (example 'dd/mm/yy') to the PHP equivilent (example 'd/m/Y'). This is for use with the jQuery datepicker UI.

I found a function (untested) to do it the other way round, here.

I've altered it a bit to look like this:

function dateFormat(){

    $pattern = array(

        //day
        'dd',
        'd',
        'DD',
        'o',

        //month
        'MM',
        'M',
        'mm',
        'm',

        //year
        'yy',
        'y'
    );
    foreach($pattern as &$p)
    {
        $p = '/'.$p.'/';
    }

    $replace = array(

        //day
        'd',        //day of the month
        'j',        //3 letter name of the day
        'l',        //full name of the day
        'z',        //day of the year

        //month
        'F',        //Month name full
        'M',        //Month name short
        'm',        //numeric month leading zeros
        'n',        //numeric month no leading zeros

        //year
        'Y',        //full numeric year
        'y'     //numeric year: 2 digit
    );

    return preg_replace($pattern, $replace, 'dd/mm/yy');
}

However, instead of returning the expected 'd/m/Y', I get 'j/n/Y'. I thought it'd do the replace in order; i.e. find dd before d and replace that first. What's going on?

Thanks.

  • 写回答

1条回答 默认 最新

  • dongyilai4214 2014-03-17 10:36
    关注

    You can use strtr with an associative array (you must complete it):

    $trans = array('dd' => 'd',
                   'mm' => 'm',
                   'yy' => 'Y',
                   'd'  => 'j');
    
    $phpDateFormat = strtr($datePickerFormat, $trans);
    

    Note that 2 characters sequences must be at the begining of the array.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路