在PHP中的日期格式

时间:2009-03-12 10:22:10

标签: php date

我有一个如下所述的字符串:

$ts  = "3/11/09 11:18:59 AM"; which I have got using date() function

现在我需要将其转换为可读格式,如下所示

11-Mar-2009

我已经尝试过使用date()

的所有内容

有人可以帮我解决这个问题吗?

4 个答案:

答案 0 :(得分:3)

您需要将其转换为可用于进一步格式化的内容。 strtotime()是一个很好的开始,它产生一个unix时间戳。您可以使用strftime()格式化那个格式。

strftime("%d-%b-%G", strtotime($ts));

答案 1 :(得分:1)

如果您最初从date()函数获取字符串,则将格式化参数传递给日期函数:

日期( 'Y-M-d')

而不是再次转换字符串。

编辑:如果您需要跟踪实际时间戳,请将其存储为时间戳:

  
// Store the timestamp in a variable. This is just an integer, unix timestamp (seconds since epoch)
$time = time();

// output ISO8601 (maybe insert to database? whatever) 
echo date('Y-m-d H:i', $time);

// output your readable format
echo date('j-M-Y', $time);

使用strtotime()非常方便,但是对时间表示进行无用的解析和存储是一个愚蠢的想法。

答案 2 :(得分:1)

实际上我尝试过这样做并且有效。

echo date("d-M-Y", strtotime($ts));  

答案 3 :(得分:0)

您可以使用date()函数直接生成所需的格式,如下所示:

date("j-M-Y");

有关date()函数输出的所有可能格式,请参阅www.php.net/date