比较javascript中的两个时间格式' hh:mm tt'

时间:2015-08-21 10:04:05

标签: javascript date time

我想比较两次 所以我尝试了这些:

"01:03 AM" > "01:02 AM"
> true


"01:01 AM" > "01:02 AM"
> false

在这些情况下,结果是正确的,但不是在这一个:

"12:55 AM" > "03:55 AM"
> true

如何以这种格式"hh:mm tt"进行两次正确比较? 是否有必要将日期包含在时间中,然后比较日期和时间?

2 个答案:

答案 0 :(得分:2)

更新:由于safari不支持空格分隔日期,因此在所有浏览器中使用斜杠代替空格。

您需要先将时间转换为Date Object,然后转换为时间戳。然后你可以比较时间戳。您可以按照以下基本示例进行操作:

private static DriverManagerDataSource dataSource;

@BeforeClass
public static void setupClass() throws Exception {
    ResourceDatabasePopulator populator = new ResourceDatabasePopulator();
    populator.addScript(new ClassPathResource("path/to/package/defaults.sql"));
    dataSource = new DriverManagerDataSource(); 
    dataSource.setUrl("jdbc:hsqldb:mem:pgtest;sql.syntax_pgs=true");
    dataSource.setUsername("SA");

    Connection con = dataSource.getConnection();
    assertNotNull(con);
    populator.populate(con);
    con.close();
}

但是对于复杂的时间比较,你应该使用一个插件。

答案 1 :(得分:1)

将时间转换为分钟并进行比较



<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
&#13;
part1
&#13;
&#13;
&#13;