2010-04-19 104 views

回答

69

您可以使用正则表达式或一些手工串摆弄,但我想我更喜欢:

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

我找到了很多我们的服务器(澳大利亚时间运行)我需要使用:日期(“d/m/o“,strtotime($ str)); - >即“一年”。 – niggles 2010-04-20 01:57:04

+0

你好! 我已经尝试过您的解决方案,但似乎没有工作。就像我在帖子中提到的那样,我只需要dd/mm/yyyy格式的日期而没有时间分量。 感谢您的帮助, 此致敬意! – 2010-04-20 09:09:15

+0

哪部分不起作用? 'strtotime(“2010-04-19 18:31:27”);'返回从时代开始的秒数,'1271716287'(对于我的TZ)。 'date()'接受一个格式字符串和一个纪元int;格式字符串告诉它要返回的内容,“d/m/Y”表示天数为零填充的int,月份表示为零填充的int,年份表示为四位数。由于格式字符串中没有包含时间参数(例如“d/m/Y h:i:s”),因此它们不会被退回 – 2010-04-20 14:03:16

2

如果您日期是一个字符串的格式使用爆炸功能

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

这比解决方案要复杂得多。 – 2010-04-19 22:40:09

+0

您可能是对的 – 2010-04-19 23:16:26

+0

但对其他可能的情况有用。 – 2011-08-03 13:02:35

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

试试这个

+0

对不起,但你的链接(?)似乎不工作! – 2010-04-20 09:07:25

-1

试试这个:

$old_date = Date_create("2010-04-19 18:31:27"); 
$new_date = Date_format($old_date, "d/m/Y"); 
-3
$source = 'your varible name'; 
$date =  new DateTime($source); 
$_REQUEST["date"] =  $date->format('d-m-Y'); 

echo $_REQUEST["date"]; 
+1

请不要在您的帖子下留下签名。 – Glorfindel 2017-07-04 08:27:03

+1

这个问题说转换为“dd/mm/yyyy”。这个解决方案似乎给出了错误的格式。 – Pang 2017-07-05 01:32:22