两小时之间的分钟差异

时间:2013-10-10 14:33:11

标签: javascript

目标

获取两小时之间的分钟差异,例如:12:20:0012:15:00。结果是:5

问题

我在PHP中有一个字符串“容纳”一段时间,就像上面的例子一样。使用JavaScript时,当分钟的差异大于3时,我需要启用按钮。换句话说,这就是我在PHP中所拥有的:10:00:00这就是{ {1}}对象在JavaScript中为我带来了Date()

我需要获取Thu Oct 10 2013 11:29:49 GMT-0300 (Hora oficial do Brasil)并与11:29:49进行比较以获得分钟的差异。如果此差异大于3,则执行某些操作

代码聚光灯

这就是我正在尝试的,但当然不起作用。由于变量的类型不同,因此无法计算差异。

10:00:00

有人可以给我一个想法吗?

5 个答案:

答案 0 :(得分:1)

首先,像老板一样管理你的时间。编程语言中的时间计算为自设置日期以来的秒数或毫秒数(我们称之为Unix时间戳 - 1970年1月1日00:00:00 UTC )。

正如您所理解的那样,使用此标准格式的日期是最好的,因为您只需要两个可以比较的整数。

在JavaScript和PHP中,这些日期格式是默认格式,非常易于使用。

JS:new Date().getTime()
PHP:time()和日期构造函数(但在这里,我可以提供很多帮助,您的应用程序的业务逻辑只有您自己知道)

因此,以便捷的标准格式(UTC格式)从PHP转换您的时间。然后用它来分享语言之间的日期并将它们进行比较。

答案 1 :(得分:0)

将两个日期转换为毫秒,并进行比较。如果他们在18000年之内,他们在3分钟内。 js中的Date.getTime()将为您完成此任务。

答案 2 :(得分:0)

在使用某些Regex或String.split函数进行处理之前,您可以尝试将PHP日期转换为Javascript日期。

请参阅Javascript Date

答案 3 :(得分:0)

你能否使用JodaTime,将你的日期转换为LocalDateTime然后比较?这似乎有效:

public static void main(String[] args) {

    LocalDateTime date1 = new LocalDateTime(2013,10,10,12,15,0);
    LocalDateTime date2 = new LocalDateTime(2013,10,10,12,20,0);

    assertEquals( 5, Minutes.minutesBetween(date1, date2).getMinutes() );
}

答案 4 :(得分:0)

var fantasyHours = new Date(<?php echo $application->time(); ?> * 1000)

那应该给你从PHP到JavaScript的时间。您现在可以检查两个日期对象以查看差异。

需要* 1000,因为PHP unix时间以秒为单位,new Date()需要几毫秒。