gpt4 book ai didi

javascript - 将时间间隔存入数据库的方法

转载 作者:行者123 更新时间:2023-11-30 21:54:25 25 4
gpt4 key购买 nike

我正在构建一个需要存储时间间隔的网络应用程序。

例子:

  • 1 小时
  • 1 小时 30 分钟
  • 2 小时
  • 2 小时 30 分钟

我将在以下三种方式中使用间隔:

  1. 时间间隔由用户选择并存储在数据库中。
  2. 时间间隔在界面中以纯文本形式显示(“1 小时”)。
  3. 函数中使用的时间间隔以毫秒为单位。

我想知道一些用数据库存储这个时间间隔并在上述功能中使用的方法。

目前我将时间间隔作为整数(以毫秒为单位)存储在数据库中。用户将从下拉菜单中进行选择。因此,如果他们选择“1 小时”,该选择的值将是 1 小时(以毫秒为单位),即 3600000,然后我可以在函数中使用它。在界面中显示“1 小时”时会出现一个小问题。

我假设的另一种方法是将间隔作为字符串存储在数据库中,然后使用函数去除值。示例:[1] 小时 [30] 分钟。

顺便说一下,我正在使用 PHP 和 JavaScript。 PHP 是严格的服务器端和 JavaScript 客户端。

最佳答案

这应该完全由 PHP 处理 - 将时间插入数据库,以及格式化输出。

我建议让选择的直接对应于它们各自的秒数(60 秒到一分钟,3600 秒到一小时):

<option value="3600">One hour</option>
<option value="5400">One hour and thirty minutes</option>

然后我会将时间以秒为单位存储在数据库中:

$time = 3600;
"INSERT INTO `table` VALUES ($time)";

然后您将从数据库中检索它(在本例中使用 $time),并使用 sprintf() 格式化它:

$hours = floor($time / 3600);
$minutes = ($time / 60) % 60;
$seconds = $time % 60;
$format = '%d hour(s), %d minute(s) and %d second(s)';
echo sprintf($format, $hours, $minutes, $seconds);
// 1 hour(s), 30 minute(s) and 0 second(s)

随意调整以适应所需的输出。

请注意,您可能还需要设置默认时区(根据您的具体应用),这可以通过以下方式完成:

date_default_timezone_set('[ZONE]');

这将确保所有用户都能看到相同的时间,无论他们身处世界何处。

希望对您有所帮助! :)

关于javascript - 将时间间隔存入数据库的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45871739/

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