X

LEETCODE 1360. Number of Days Between Two Dates 解题思路分析

题目大意:

日期之间隔几天

请你编写一个程序来计算两个日期之间隔了多少天。

日期以字符串形式给出,格式为 YYYY-MM-DD,如示例所示。

示例 1:

输入:date1 = "2019-06-29", date2 = "2019-06-30"
输出:1

示例 2:

输入:date1 = "2020-01-15", date2 = "2019-12-31"
输出:15

提示:

  • 给定的日期是 1971 年到 2100 年之间的有效日期。

如果想查看本题目是哪家公司的面试题,请参考以下免费链接: https://leetcode.jp/problemdetail.php?id=1360

解题思路分析:

这道题的难度不大,我们分别将两个日期转为时间戳,然后再看他们之间相差了多少24小时即可。

实现代码:

public int daysBetweenDates(String date1, String date2) {
    try {
        java.text.SimpleDateFormat sdFormat
            = new java.text.SimpleDateFormat("yyyy-MM-dd");
        java.util.Date d1 = sdFormat.parse(date1);
        java.util.Date d2 = sdFormat.parse(date2);
        long diff = Math.abs(d1.getTime()-d2.getTime());
        diff/=(1000*60*60*24);
        return (int)diff;
    } catch(Exception e){
    }
    return 0;
}

本题解法执行时间为23ms。

Runtime: 23 ms, faster than 22.04% of Java online submissions for Number of Days Between Two Dates.

Memory Usage: 40.3 MB, less than 100.00% of Java online submissions for Number of Days Between Two Dates.

本网站文章均为原创内容,并可随意转载,但请标明本文链接
如有任何疑问可在文章底部留言。为了防止恶意评论,本博客现已开启留言审核功能。但是博主会在后台第一时间看到您的留言,并会在第一时间对您的留言进行回复!欢迎交流!
本文链接: http://leetcode.jp/leetcode-1360-number-of-days-between-two-dates-解题思路分析/
Categories: leetcode
Tags: javaleetcode
kwantong: