将日期保存到数据库并使用 PHP 获取

Posted

技术标签:

【中文标题】将日期保存到数据库并使用 PHP 获取【英文标题】:Saving date into database and get it with PHP 【发布时间】:2012-08-01 17:46:37 【问题描述】:

正如标题所说,我怎样才能使用这个日期函数将它保存为一个字符串,或者我可以稍后从数据库中获取它?

mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");
$newsTitel   = $_POST['title'];
$submitDate  = date('Y-m-d g:i:s A');
$newsContent = $_POST['newstext'];
mysql_query("INSERT INTO $tbl_name (Nieuwstitel, Nieuwsbericht, Postdatum) 
     VALUES('$newsTitel', '$newsContent', '$submitDate' ) ");
echo "Het bericht is successvol geplaatst!";
echo date('Y-m-d g:i:s A');

只有当它必须是完整长度时才会显示日期:2012 之类的新闻:

 mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
 mysql_select_db("$db_name")or die("cannot select DB");   
 $result = mysql_query("SELECT * FROM $tbl_name ORDER BY newsid DESC");
 $count = mysql_num_rows($result);
 while($row = mysql_fetch_array($result))
 $count = mysql_num_rows($result);
  echo "<table class='newsList'>";

    echo "<tr><div id='nav'><th align='left'>".$row['Nieuwstitel']."</th>
              <th class='right'>".$row['Postdatum']."</div></tr>";
    echo "<tr><td colspan='2'>".$row['Nieuwsbericht']."<br/></td></tr>";
  echo "</table>";
  if ($count == 0)
     echo "<center><p>No news at the moment!</p><p>&nbsp;</p></center>";
  
     
 

【问题讨论】:

将日期保存为日期时间或时间戳(例如在 MySQL 中),然后在使用/显示它们时对其进行格式化。 dev.mysql.com/doc/refman/5.0/en/datetime.html 这很容易谷歌先生。 【参考方案1】:

为什么不使用字符串日期,而不是使用 MySQL 函数,当你稍后输出这个值时,你可以简单地格式化它。像这样使用 Now() 函数;

mysql_query("INSERT INTO $tbl_name (Nieuwstitel, Nieuwsbericht, Postdatum)       
VALUES('$newsTitel', '$newsContent', NOW()) "); 

这将为您提供当前日期时间。

【讨论】:

【参考方案2】:

我不同意任何说将您的日期保存在数据库中作为 unix 时间戳的人(因为许多 php 程序员似乎出于懒惰而想要这样做)。这使得表中的数据更难以人类可读的形式读取,并且更难使用 MySQL 的日期/时间函数进行查询。

如果您只是想在查询时设置当前时间戳,我实际上建议您在插入查询中使用 mysql 的 NOW() 函数,例如:

mysql_query("INSERT INTO $tbl_name (Nieuwstitel, Nieuwsbericht, Postdatum) VALUES('$newsTitel', '$newsContent', NOW() ) ");

这消除了您在 PHP 中执行任何时间公式的需要。

【讨论】:

嗯,这不像网页上的实际日期那样加载它。还是说2012 这可能与您的 HTML 和 CSS 有关。例如,您输出日期的 标记未正确关闭。您可以验证页面源中的值只是“2012”吗?您能否验证您实际上是在为 PostDatum 使用数据库中的日期时间字段?

以上是关于将日期保存到数据库并使用 PHP 获取的主要内容,如果未能解决你的问题,请参考以下文章

发出 GET 请求并在 AJAX、php 中发送最后日期

PHP函数获取日期格式?

如何将 jQuery 日期选择器值保存到数据库并从数据库中检索

在 PHP 中将 UTC 日期转换为本地时间

PHP

Document.write 并使用 php 保存到数据库