如何在MySQL数据库中显示日期和价格,并在PHP中以各种格式显示

如何在MySQL数据库中显示日期和价格,并在PHP中以各种格式显示,php,mysql,Php,Mysql,我是一名php/mysql新手,因此我一直在以我通常在页面上显示日期的任何格式插入日期,如: Saturday, June 19, 2010 直接以纯文本形式输入数据库。但我看到人们以其他方式输入它,然后使用一些php函数以各种格式显示相同的记录。如何做到这一点,以便我可以在数据库中有一条记录,并以各种格式显示它,如: 6/19/2010 June 19, 2010 Saturday, June 19, 2010 等等 问题的第二部分 如何用金钱做同样的事情?您应该将数据存储为MYSQL日期

我是一名php/mysql新手,因此我一直在以我通常在页面上显示日期的任何格式插入日期,如:

Saturday, June 19, 2010
直接以纯文本形式输入数据库。但我看到人们以其他方式输入它,然后使用一些php函数以各种格式显示相同的记录。如何做到这一点,以便我可以在数据库中有一条记录,并以各种格式显示它,如:

6/19/2010
June 19, 2010
Saturday, June 19, 2010
等等

问题的第二部分
如何用金钱做同样的事情?

您应该将数据存储为MYSQL日期时间字段。然后使用php将数据格式化为您想要的格式


至于价格,我建议你们以美分储存。这样您就可以很容易地将其转换为其他货币。

我自己将其存储为unix时间戳

函数time()返回unix时间戳

并在此处签出date()函数:

它有两个参数:希望显示的格式和unix时间戳。

如何处理、存储和更改php+mysql的日期
对于日期,只需将其保存为
DATETIME
。它很容易阅读,也很容易在PHP中使用。您也可以选择使用纯
时间戳
,但我不推荐

日期时间的范围…
“1000-01-01 00:00:00”至“9999-12-31 23:59:59”

时间戳的范围…
“1970-01-01 00:00:01”UTC至“2038-01-19 03:14:07”

不仅如此,您还拥有许多内置MYSQL函数来处理DATETIME的
INTERVAL
,这将使您能够完成伟大的事情

// easy pull all comments values from within a range
SELECT * FROM your_table
WHERE your_date_field = DATE_SUB('2001-01-01 12:12:12' + INTERVAL 15 DAYS;
如果您确实需要在PHP上使用时间戳,您可以在SQL上实时提取它们,如下所示:

// converts a DATETIME field real time to timestamps
SELECT UNIX_TIMESTAMP(your_date_field)
FROM your_table (...)
当你把它们拿出来的时候,只要用你喜欢的方式格式化就行了。下面是一个例子

// pull a date from MySQL and format them to a custom format
// %A -> full weekday | %B -> full month name | %d -> month day | %Y - year 1999
$sql = "SELECT title, name, UNIX_TIMESTAMP(date) as timestamp
        FROM your_table
        WHERE your_limits";
$result = mysql_fetch_assoc(mysql_query($sql));
echo strftime("%A, %B %d, %Y", $result['timestamp']);

如何在MySQL中存储货币
我将始终将它们存储在上传的值中。只有在发生交易或变更时,才应将一种货币转换为另一种货币。否则,请保留上载的原始价格中的值

| 135.23 | USD |
| 200.35 | EUR |
|  34.00 | GBP |
显示货币时,您可以进行实时转换。只需将当前的交换日期单独放在一张表中,并实时计算即可。向用户显示您的转换率也是一个加号

假设上面使用上述帐户的用户希望获得欧元货币

135.23 USD = 109.39 EUR (1 USD = 0.80893059 EUR)
    30 GBP =  35.90 EUR (1 GBP = 1.19681281 EUR)
             200.35 EUR
-----------------------       
       total 345.64 EUR

如果您以后需要使用日期进行计算,这些相关的php/mysql日期问题可能会有所帮助,您肯定应该使用
DATETIME
。(您可以将unix时间戳转换为datetime,反之亦然,但为什么不从一开始就使用本机类型?)