首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MySQL数据库中显示日期和价格,并在PHP中以各种格式显示

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

Stack Overflow用户
提问于 2010-06-20 08:58:39
回答 3查看 1.1K关注 0票数 4

我是一个php/mysql新手,所以我一直在用我通常在页面上显示的日期格式插入日期,比如:

代码语言:javascript
复制
Saturday, June 19, 2010

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

代码语言:javascript
复制
6/19/2010
June 19, 2010
Saturday, June 19, 2010

等等。

问题的第二部分

如何用钱做同样的事情呢?

EN

回答 3

Stack Overflow用户

发布于 2010-06-20 09:02:30

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

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

票数 1
EN

Stack Overflow用户

发布于 2010-06-20 09:02:32

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

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

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

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

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

票数 1
EN

Stack Overflow用户

发布于 2010-06-20 10:02:11

​

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

​

对于日期,只需将它们保存为DATETIME即可。它很容易阅读,也很容易在PHP中使用。您也可以选择使用纯TIMESTAMP,但我不建议您这样做。

​

DATETIME的范围...

'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,它可以让你做很多很棒的事情。

代码语言:javascript
复制
// 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上实时拉取它们:

代码语言:javascript
复制
// converts a DATETIME field real time to timestamps
SELECT UNIX_TIMESTAMP(your_date_field)
FROM your_table (...)

当你把它们拉出来的时候,只要用strftime格式化它们就行了。下面是一个例子。

代码语言:javascript
复制
// 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中存储货币

​

我总是存储在他们的上载的值中。只有当有交易或变更时,您才应该从一种货币转换为另一种货币。否则,保持上传时的原价不变。

​

代码语言:javascript
复制
| 135.23 | USD |
| 200.35 | EUR |
|  34.00 | GBP |

在显示货币时,您可以进行实时转换。只需保留一个包含当前交换日期的单独表格,并实时计算即可。向用户显示您的转换率也是一个加号。

假设上面的用户想要用欧元来获得他的货币。

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3077827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档