转换为日期格式dd/mm/yyyy

46
我有以下日期:2010-04-19 18:31:27。我想将此日期转换为dd/mm/yyyy格式。
7个回答

107

你可以使用正则表达式或一些手动的字符串操作,但我认为我更喜欢:

date("d/m/Y", strtotime($str));

1
我发现在我们很多运行于澳大利亚时区的服务器上,我需要使用以下代码:date("d/m/o", strtotime($str)); -> 即 'o' 代表年份。 - niggles
你好!我已经尝试了你的解决方案,但似乎并没有起作用。就像我在帖子中提到的那样,我只需要以dd/mm/yyyy格式显示日期,不需要时间组件。感谢你的帮助, 最好的问候! - Rui Gonçalves
哪个部分不起作用? strtotime(“2010-04-19 18:31:27”); 返回自时代以来的秒数,1271716287(对于我的TZ)。 date()采用格式字符串和时代int;格式字符串告诉它要返回什么,“d / m / Y”是天数为零填充的int,月份为零填充的int,年份为四位数。由于格式字符串中未包含时间参数(例如“d / m / Y h:i:s”),因此它们不会被返回。 - Michael Mrozek
大家好!我在应用建议的解决方案时犯了一个错误。但它确实起作用了!感谢所有人的回复。再次感谢您的回复! 最好的问候 - Rui Gonçalves
当前日期为 date("d/m/Y"); - Junior Mayhé

10
<?php
$test1='2010-04-19 18:31:27';
echo date('d/m/Y',strtotime($test1));
?>

试一下


3
如果您的日期是字符串格式,请使用explode函数。
    array explode ( string $delimiter , string $string [, int $limit ] )
//In the case of your code

$length = strrpos($oldDate," ");
$newDate = explode( "-" , substr($oldDate,$length));
$output = $newDate[2]."/".$newDate[1]."/".$newDate[0];

希望以上内容现在可以正常工作。

3
这个解决方案比所需的要复杂得多。 - Mitch Dempsey
1
但对于其他可能的情况也很有用。 - James P.

2

0

简单尝试一下 $date=date('d/m/Y',strtotime($yourdatevariable))

或者你想转换为 d-m-Y 只需简单地 编辑上面的 d/m/Y 为 d-m-Y


-1

试试这个:

$old_date = Date_create("2010-04-19 18:31:27");
$new_date = Date_format($old_date, "d/m/Y");

-4
$source    =    'your varible name';
$date    =     new DateTime($source);
$_REQUEST["date"]    =     $date->format('d-m-Y');

echo $_REQUEST["date"];

2
请不要在您的帖子下留下签名。 - Glorfindel
1
问题要求转换为“dd/mm/yyyy”。这个解决方案似乎给出了错误的格式。 - Pang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接