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

时间:2010-06-20 00:58:39

标签: php mysql

我是一个php / mysql新手所以我一直在以我在网页上显示日期的任何格式插入日期,例如:

Saturday, June 19, 2010

以纯文本形式直接进入数据库。但我看到人们以其他方式输入它,然后使用一些php函数以各种格式显示相同的记录。有什么方法可以做到这一点,这样我就可以在数据库中创建一条记录,并以各种格式显示,如:

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

等...

问题的第二部分

如何用钱做同样的事情?

3 个答案:

答案 0 :(得分:1)

您应该将数据存储为MYSQL datetime feild。然后使用php格式化数据的格式。

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

答案 1 :(得分:1)

我自己将它存储为unix时间戳。

函数time()返回一个unix时间戳。

并在此处查看date()函数:

http://php.net/manual/en/function.date.php

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

答案 2 :(得分:1)

如何处理,存储,更改日期php + mysql


对于日期,只需将其保存为DATETIME即可。它易于阅读,易于在PHP中使用。你也可以使用纯TIMESTAMP,但我不推荐它。

DATETIME 的范围......
'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。

TIMESTAMP 的范围......
'1970-01-01 00:00:01'UTC到'2038-01-19 03:14:07'

不仅如此,你还有许多内置的MYSQL函数可以与像INTERVAL这样的DATETIME一起使用,这样你就可以做很多事情。

// 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 (...)

当你把它们拉出来时,无论如何都要使用strftime格式化它们。例子如下。

// 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