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