使用php获取正确的日期格式

时间:2014-07-11 07:21:55

标签: php date browser format

我在html中有一个日期字段。从它我通过POST中的POST将日期传输到另一个文件,不同的浏览器以不同的格式传输它。例如,chrome 2014-12-30,mozilla 30.12.2014。当我将此字段分配给php变量时,如何轻松更改日期格式?

5 个答案:

答案 0 :(得分:0)

在php

中使用date()进行更改
$date = '30.12.2014';
echo date('Y-m-d', strtotime($date));

datetime()

$datetime = new DateTime($date);
echo $datetime->format('Y-m-d'); 

答案 1 :(得分:0)

如果使用DateTime类创建日期格式,则日期非常简单。

$dateNow = new DateTime();

然后,要将日期格式化为所需格式,请使用格式方法

$dateNow->format('Y-m-d') // Google Chrome
$dateNow->format('d.m.Y') // Mozilla Firefox

答案 2 :(得分:0)

将日期与strtotime一起使用。 date()中的第一个参数是您想要的格式,第二个参数是您提取的strtotime'd日期。

echo date('d m y', strtotime("date POST var here"));

答案 3 :(得分:0)

使用strftime功能,您可以获得本地化日期。

setlocale()

一起使用

来自php.net的例子:

setlocale(LC_TIME, "C");
echo strftime("%A");
setlocale(LC_TIME, "fi_FI");
echo strftime(" in Finnish is %A,");
setlocale(LC_TIME, "fr_FR");
echo strftime(" in French %A and");
setlocale(LC_TIME, "de_DE");
echo strftime(" in German %A.\n");

答案 4 :(得分:0)

<?php

    $u_agent = $_SERVER['HTTP_USER_AGENT'];

    // Next get the name of the useragent yes seperately and for good reason
    if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent))
    {
        echo date('Y-m-d', strtotime($date));
        //your code
    }
    elseif(preg_match('/Firefox/i',$u_agent))
    {
       echo date('d-m-Y', strtotime($date));
       //your code
    }
    elseif(preg_match('/Chrome/i',$u_agent))
    {
       echo date('Y-m-d', strtotime($date));
       //your code
    }
    elseif(preg_match('/Safari/i',$u_agent))
    {
       echo date('Y-m-d', strtotime($date));
       //your code
    }
    elseif(preg_match('/Opera/i',$u_agent))
    {
       echo date('Y-m-d', strtotime($date));
       //your code
    }
    elseif(preg_match('/Netscape/i',$u_agent))
    {
       echo date('Y-m-d', strtotime($date));
       //your code
    }



?>