PHP日期格式怎么转换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP日期格式怎么转换相关的知识,希望对你有一定的参考价值。

$_news_row['updatetime']我的这个从数据库里读出来的日期格式是这样的
2013-04-28 17:07:20
我想把它弄成
2013年4月28日这样的格式 ...请问下怎么解决
这是我的代码
$_index_news_sql = "SELECT id,title,updatetime FROM cx_news ORDER BY updatetime DESC LIMIT 0, 7";
$_index_news_query = mysql_query($_index_news_sql);
while ($_news_row=mysql_fetch_array($_index_news_query))
echo "<li><span>".$_news_row['updatetime']."</span>· <a href=newsview.php?id=".$_news_row['id'].">".cut_str($_news_row['title'],36)."</li>";

我一般用时间戳timestamp存在数据库中,用字符串的话,转换会有点麻烦
php有一个函数data()可将时间戳转为你想要的日期时间格式,如果是日期字符串,要先用strtotime转为时间戳,如 date("Y-m-d H:i:s",strtotime(时间字符串))
你可以用date("Y年m月d日",strtotime($_news_row['updatetime']))来转换
参考技术A php日期格式转换总结:
<?php
//将当前时间转换成yyyy-mm-dd格式串,再转换成日期格式,绕了一圈哈
echo strtotime(date('Y-m-d',time()).' 00:00:00');
//将GNU 日期输入格式的字符转换成时间
echo strtotime('now');
//标准的字符串转换成时间
$t = '2012-9-10 15:18:06';
$time = strtotime($t);
//将时间转换成日期字符yyyymmdd,再转换成整型格式
$d = intval(date('Ymd',$time));
echo '付款时间:'.$d;
参考技术B 试用一下data_format()函数data_format('Y-m-d H:i:s',$time);

如何使用php将日期格式转换为日期时间格式[重复]

【中文标题】如何使用php将日期格式转换为日期时间格式[重复]【英文标题】:how to convert date format to datetime format using php [duplicate] 【发布时间】:2015-04-21 20:24:39 【问题描述】:

这对我不起作用,我想使用 php 将日期格式转换为 mysql 格式的日期时间。我尝试通过以下代码获取。我的代码有什么问题

    $travelDatesconv=strtotime($travelDate);       //15/03/2015

         $travelDates=date('Y-m-d H:i:s',strtotime($travelDatesconv));

            echo $travelDates."=>uu";        
          //i need 2015-03-15 00:00:00

【问题讨论】:

$travelDate 的结果是什么? 15/03/2015 输出 => 1970-01-01 05:30:00=>uu 检查我更新的代码 【参考方案1】:
$travelDate = '15/03/2015';

$date        = DateTime::createFromFormat('d/m/Y H:i:s', "$travelDate 00:00:00");
$travelDates = $date->format('Y-m-d H:i:s') . "=>uu";

echo $travelDates . PHP_EOL;

输出:

2015-03-15 00:00:00=>uu

【讨论】:

【参考方案2】:

为什么不在 PHP 中使用 DateTime 对象 (http://php.net/manual/en/class.datetime.php)?

我会这样做:

$date = DateTime::createFromFormat('d/m/Y', $travelDate);
echo $date->format('Y-m-d H:i:s');

希望对你有帮助。

【讨论】:

啊..它工作正常。谢谢兄弟..【参考方案3】:

eliminate ."=>uu" 和 strtotime 不适用于 15/03/2015 格式,您必须将 $travelDate 更改为 '03/15/2015' 之类的内容

$travelDate = '03/05/2015';
$travelDates = date('Y-m-d H:i:s',strtotime($travelDate));
echo $travelDates; 

【讨论】:

【参考方案4】:

检查代码

$travelDatesconv=strtotime($travelDate);       //15/03/2015
 $travelDates=date('Y-m-d H:i:s',strtotime($travelDatesconv));
 echo $travelDates;        
 //Result 2015-03-15 00:00:00

【讨论】:

【参考方案5】:

试试下面的代码,

$travelDatesconv=strtotime($travelDate);       //15/03/2015

    $travelDates=date('Y-m-d H:i:s',$travelDatesconv);

    echo $travelDates."=>uu";  

希望对你有帮助

【讨论】:

你的代码和我有什么不同..bro @UdayaRavi 检查这一行 $travelDates=date('Y-m-d H:i:s',$travelDatesconv);

以上是关于PHP日期格式怎么转换的主要内容,如果未能解决你的问题,请参考以下文章

php怎么将指定日期转换为时间戳

php时间格式转换

PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)

在PHP中转换日期格式[重复]

php怎么把中文的日期转换成整型

PHP 中文日期转换