时间戳和表单输入日期/时间

Posted

技术标签:

【中文标题】时间戳和表单输入日期/时间【英文标题】:Timestamp and form input date/time 【发布时间】:2014-02-22 16:25:51 【问题描述】:

我还没有构建任何代码,因为在开始制作之前我需要问这个问题。

首先我在做什么: 我将在我的网站上制作一个锦标赛系统,我希望锦标赛创建者选择一个日期和时间,该锦标赛将对注册有效,对注册关闭。

我相信我会使用 www.jongsma.org 日期选择器,因为我认为它看起来非常漂亮且易于最终用户使用。 Link:here

问题:

在清理表单日期/时间的输入后,我是否需要指定将其从用户(插入时间的人)本地时间转换为 UTC,然后再将数据存储到数据库中,或者它是否自动转换将数据写入数据库时​​从那里输入本地时间到 UTC?

我正在使用 MySQLite

【问题讨论】:

【参考方案1】:

mysql 接受格式为“Y-m-d H:i:s”的日期时间。 您始终可以使用 strtotime 将不同格式的日期转换为 unix_timestamp 并将其转换为 mysql 日期格式:

$unix_time = strtotime($differentFormattedDate);
date("Y-m-d H:i:s",$unix_time);

【讨论】:

他需要传递日期/时间。所以格式应该是“Y-m-d H:i:s” 好的,太棒了。感谢您的答复。你知道我如何将它转换回观众当地时间,所以如果我要在我的网站上显示$unix_time,观众会看到他们的当地时间而不是$unix_time。我猜$differentFormattedDate 是我从初始 _POST 数据中创建的变量,我从表单本身获得的数据,例如$differentFormattedDate = preg_replace('#[^a-z 0-9_-]#i', '', $_POST['time_date']); 是的 $differentFormattedDate 是您从 datepicker 获得的。本地时间是指本地格式吗?还是当地时间?如果你想设置格式,有一个函数可以做到这一点:strftime (php.net/manual/en/function.strftime.php) echo strftime ( 'd/m/Y H:i:s', $unix_time ); 不要忘记先使用 setlocale 来设置你的用户语言环境。 好吧,这真是个了不起的人。谢谢一堆。我指的是当地时间而不是格式,因为英国的晚上 8 点不是美国的晚上 8 点。再次感谢您。 你应该在英国时间定义比赛时间,这样用户就可以看到他们的当地时间。如果您有来自不同时区的用户,您总是可以让他们选择他们的时区并通过加减小时来操纵英国时间。顺便说一句,如果这是您正在寻找的答案,您可以接受它;)

以上是关于时间戳和表单输入日期/时间的主要内容,如果未能解决你的问题,请参考以下文章

js实现的时间戳和时间日期的转换

php时间戳和日期转换,以及时间戳和星期转换

时间戳和日期转换

PHP时间戳和日期相互转换

JDBC 时间戳和日期 GMT 问题

sh bash时间戳和/或日期