0

我有 3 个数字文本字段,分别是天、小时和分钟。我以这样一种方式编写脚本,即用户只能为每个字段输入 2 位数字。

有人可以帮我将这 3 个字段组合成一个整数(这是一个 UNIX 时间),以便我可以将它作为单列时间保存在数据库中。

HTML

<table><tr>
<td><input id='days' type='text' maxLength='2' placeholder='Days'></td>
<td><input id='hours' type='text' maxLength='2' placeholder='hours'></td>
<td><input id='min' type='text' maxLength='2' placeholder='Min'></td>
</tr></table>

JavaScript

var day = document.getElementById('days').value;
var hours = document.getElementById('hours').value;
var min = document.getElementById('min').value;

如何将这 3 个变量(天、小时、分钟)组合成一个 unix 时间变量并将其保存在数据库中。(我知道如何将它保存在数据库中,但是?如何组合 3 个变量并将其保存在单个 JavaScript 变量中?)

4

2 回答 2

1

为此,我正在使用您要使用当前月份和年份吗?您需要将字段发布到您的 PHP 脚本并用于strtotime制定时间戳:

$timestamp = strtotime(date('Y-M') . '-' . $_POST['days'] . ' ' . $_POST['hours'] . ':' . $_POST['min']);

或者,使用 JavaScript:

var d = new Date();
var ts = Math.round((new Date(d.getFullYear(), d.getMonth(), $('#day').val(), $('#hours').val(), $('#min').val())).getTime() / 1000);
于 2013-01-21T21:47:53.510 回答
0

Unix 时间戳是自 unix 纪元开始以来的秒数。

javascript Date 对象有一个 getTime 方法,它返回自 unix 纪元开始以来的毫秒数。

因此,如果您希望在客户端计算值:

var time = new Date(0,0,day,hours,min);
var milliseconds = time.getTime();
var seconds = milliseconds / 1000;

我没有包括如何将值发送到服务器并将其保存到数据库的示例 - 这完全取决于您使用的服务器端技术,并且快速 google 或 stackoverflow 搜索将帮助您完成这部分。

于 2013-01-21T22:03:37.367 回答