将日期和时间转换为UNIX时间

时间:2013-01-21 21:45:06

标签: javascript datetime unix-timestamp

我有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变量中?)

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

Unix timestamps是自unix时代开始以来的秒数。

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

因此,如果您想要在客户端计算的值:

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

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