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 函数可以与 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 (...)
当您将它们拉出时,只需使用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