相关疑难解决方法(0)

为什么减去这两次(在1927年)给出一个奇怪的结果?

如果我运行以下程序,它解析引用时间间隔为1秒的两个日期字符串并比较它们:

public static void main(String[] args) throws ParseException {
    SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
    String str3 = "1927-12-31 23:54:07";  
    String str4 = "1927-12-31 23:54:08";  
    Date sDt3 = sf.parse(str3);  
    Date sDt4 = sf.parse(str4);  
    long ld3 = sDt3.getTime() /1000;  
    long ld4 = sDt4.getTime() /1000;
    System.out.println(ld4-ld3);
}
Run Code Online (Sandbox Code Playgroud)

输出是:

353

为什么ld4-ld31(正如我所期望的那样,在时间上只有一秒钟的差异),但是353

如果我将日期更改为1秒后的时间:

String str3 = "1927-12-31 23:54:08";  
String str4 = "1927-12-31 23:54:09";  
Run Code Online (Sandbox Code Playgroud)

然后ld4-ld31.


Java版本:

java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04) …
Run Code Online (Sandbox Code Playgroud)

java timezone date

6628
推荐指数
9
解决办法
63万
查看次数

Java字符串到日期转换

String"2010年1月2日"格式转换为DateJava 格式的最佳方法是什么?

最终,我希望将月份,日期和年份作为整数分解,以便我可以使用

Date date = new Date();
date.setMonth()..
date.setYear()..
date.setDay()..
date.setlong currentTime = date.getTime();
Run Code Online (Sandbox Code Playgroud)

将日期转换为时间.

java string time date data-conversion

847
推荐指数
11
解决办法
177万
查看次数

如何用Joda-Time计算从现在开始的经过时间?

我需要计算从特定日期到现在所用的时间,并以与StackOverflow问题相同的格式显示它,即:

15s ago
2min ago
2hours ago
2days ago
25th Dec 08
Run Code Online (Sandbox Code Playgroud)

您知道如何使用Java Joda-Time实现它吗?是否有一个已经实现它的辅助方法,或者我应该自己编写算法?

java algorithm grails datetime jodatime

69
推荐指数
4
解决办法
3万
查看次数

你如何减去Java中的日期?

在不得不深入减去两个日期来计算天数的跨度之后,我内心正在流血:

    GregorianCalendar c1 = new GregorianCalendar();
    GregorianCalendar c2 = new GregorianCalendar();
    c1.set(2000, 1, 1);
    c2.set(2010,1, 1);
    long span = c2.getTimeInMillis() - c1.getTimeInMillis();
    GregorianCalendar c3 = new GregorianCalendar();
    c3.setTimeInMillis(span);
    long numberOfMSInADay = 1000*60*60*24;
    System.out.println(c3.getTimeInMillis() / numberOfMSInADay); //3653
Run Code Online (Sandbox Code Playgroud)

在.NET中只有2行代码,或者您命名的任何现代语言.

这是java的残暴吗?或者我应该知道隐藏的方法吗?

而不是使用GregorianCalendar,可以在util中使用Date类吗?如果是这样,我应该留意像1970年那样微妙的事情吗?

谢谢

java datetime

40
推荐指数
2
解决办法
10万
查看次数

计算Java中日期的差异

我觉得Java(或java.util库)没有内置函数来计算日期差异很有趣.我想从另一个日期中减去一个日期以获得它们之间的经过时间.做这个的最好方式是什么?

我知道简单的方法是以毫秒为单位取时间差,然后将其转换为天.但是,我想知道这是否适用于所有情况(夏令时等).

java datetime date date-arithmetic

17
推荐指数
2
解决办法
1万
查看次数