gpt4 book ai didi

php - 在sql中存储日期的最佳格式

转载 作者:可可西里 更新时间:2023-11-01 08:17:35 26 4
gpt4 key购买 nike

我正在尝试优化我在 SQL/PHP 站点中使用日期的方式。我熟悉 date()strtotime() 函数,并创建了在服务器端以 unix 和 datetime 格式存储数据的项目。我知道更改日期不会使用大量资源,但我正在尝试了解如何以最有效的方式进行编码。

我现在想弄清楚的是,在服务器上存储日期的最快/最有效的做法是什么,即: SQL FROM_UNIXTIME、CONVERT、UNIX_TIMESTAMP 和 PHP strtotime< 的最有效组合是什么date 函数,用于涉及日期字段的频繁 CRUD 的典型表。举个例子:

我有一个包含 3 个日期列的 SQL 表。所有这 3 个都可以由网站的多个用户定期更新,条目也按如下方式输入:

mysql_query("INSERT INTO `regular` (
`regularid`,
`propertyid`,
`userid`,
`billdate`,
`billfrequency`,
`enddate`,
`amount`,
`description`,
`payee`,
`payer`,
`lastpayment`
)
VALUES (
'', '{$_POST['propertyid']}', '$varuserid', FROM_UNIXTIME($date), '{$_POST['billfrequency']}', 'FROM_UNIXTIME($edate)', '$amount', '{$_POST['description']}', '{$_POST['payee']}', '{$_POST['payer']}', 'FROM_UNIXTIME($ldate)'
)") or die(mysql_error);

Print "A regular payment for &pound;".$_POST['amount']." has been created<br/>\n";

进入数据库后,我将用户输入表单中的日期字段解析为 mm/dd/yyyy 格式的变量,使用 strtotime() 或 mktime() 函数对其进行验证,然后使用 from_unixtime 提交。

但是,然后显示我使用的数据库中的信息:

   date("d-m-Y", strtotime($val['billdate']))

这意味着我从用户那里获取了 dd/mm/yyyy 日期格式,从数据库中获取了另一种格式。然后我使用 strtotime 将它们转换为 unixtime,然后使用 date 将其转换回英国日期格式——这肯定是翻倍?如果不是三倍?服务器查询。

我的问题分为两部分。首先,它是最快的 a) 在 sql 中以 unixtime 存储所有日期格式并通过服务器端查询转换为日期格式,还是 b) 以日期格式存储所有日期格式并仅在访问它们时转换为 unixtime

(我认为后者最好,但我上面的示例表明,即使这样做我似乎也使用了比我应该使用的更多的服务器时间)

其次,关于我应该如何执行我自己的脚本时间基准测试,您能否指出正确的方向 - 我才真正开始理解测试,因为我对 Php 还比较陌生,但我很想学习。

非常感谢!

最佳答案

使用 MySQL 的“unix_timestamp()”,它很短,可以通过使用 php、bash 等在一秒钟内转换为可读的完整日期。

关于php - 在sql中存储日期的最佳格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20985417/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com