簡體   English   中英

如何格式化PHP和SQL中的日期?

[英]How to format the date in PHP and SQL?

我的一個表中有一個名為“publicationDate”的字段,其數據類型是date 但是,當我創建一個應該顯示今天日期的查詢時,我遇到了如何格式化它的問題。 它總是顯示0000-00-00

這是我的變量:

$today = date("F j, Y, g:i a");

這是我的查詢:

$query = "INSERT INTO articles (summary, publicationDate) VALUES ('{$content}', '{$today}')";

我究竟做錯了什么?

嘗試這個:

$today = date("Y-m-d"); 
// 2011-09-24

你的字符串返回:

$today = date("F j, Y, g:i a");
// September 24, 2011, 6:39 am

編輯:

要保存日期和時間,您可以使用日期時間或時間戳:

$today = time(); // timestamp

將數據庫字段更改為時間戳。

要么

$today = date("Y-m-d H:i:s"); // datetime

將數據庫字段更改為datetime。


要從數據庫中選擇數據,您可以:

$result = mysql_query("SELECT date FROM table");
$row = mysql_fetch_array($result);

// field is timestamp
echo date("F j, Y, g:i a", $row['date']);
// or
// field is datetime
echo date("F j, Y, g:i a", strtotime($row['date']));

更多信息: http//at.php.net/manual/en/function.date.php

$today = date("Y-m-d");

這是插入MySQL的正確格式。

如果publicationDate列的類型為DATE (它應該是真的),則需要以MySql識別的格式之一格式化日期,而不是人類可讀的字符串。

其中,最常見的是date("Ymd")date("Ymd")如果你喜歡連字符。

請改用它

$today = date("Y-m-d");

MySQL日期僅存儲日期而不是YYYY-MM-DD等時間

如果您還想存儲時間,可以使用DATETIME字段:YYYY-MM-DD HH:MM:SS或者您可以將時間戳存儲為字符串。

該值應為字符串,格式為MySQL的格式:Ymd。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM