相关疑难解决方法(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 8 Date Time API(java.time)和Joda-Time之间的差异

我知道有关于java.util.Date和Joda-Time的问题.但经过一番挖掘后,我找不到关于java.time API(Java 8中新增,JSR 310定义)和Joda-Time之间差异的线程.

我听说Java 8的java.time API比Joda-Time更清洁,可以做得更多.但我找不到比较两者的例子.

  • 什么java.time可以做到Joda-Time不能?
  • java.time能比Joda-Time做得更好吗?
  • java.time的性能更好吗?

java datetime jodatime java-8 java-time

258
推荐指数
3
解决办法
7万
查看次数

如何获得一天的开始时间和结束时间?

如何获得一天的开始时间和结束时间?

这样的代码不准确:

 private Date getStartOfDay(Date date) {
    Calendar calendar = Calendar.getInstance();
    int year = calendar.get(Calendar.YEAR);
    int month = calendar.get(Calendar.MONTH);
    int day = calendar.get(Calendar.DATE);
    calendar.set(year, month, day, 0, 0, 0);
    return calendar.getTime();
}

private Date getEndOfDay(Date date) {
    Calendar calendar = Calendar.getInstance();
    int year = calendar.get(Calendar.YEAR);
    int month = calendar.get(Calendar.MONTH);
    int day = calendar.get(Calendar.DATE);
    calendar.set(year, month, day, 23, 59, 59);
    return calendar.getTime();
}
Run Code Online (Sandbox Code Playgroud)

它毫不准确到毫秒.

java date

107
推荐指数
6
解决办法
15万
查看次数

Java中的最短日期

Java中的最小日期值是多少?

java date

46
推荐指数
4
解决办法
7万
查看次数

如何使用/到最大值创建或设置JodaTime DateTime对象?

我翻译了一些C#-code到Java和选择JodaTimeDateTime类,以取代C#System.DateTime.

C#DateTime班有一个叫做场MaxValue和一个叫MinValue,它返回的最大和最小的可能值,该DateTime对象可以容纳.

我试图用JodaTimeapi 实现同样的目标.我已经阅读了其他帖子的一些建议

这一个:Java等价的.NET DateTime.MinValue,DateTime.Today回答如何使今天的日期JodaTime,但在回答问题的后半部分时,关于最小值,他们转向CalendarDate

同样地,我已经看到了关于将最大化的long值作为构造函数参数传递的建议,但是它被批评为依赖于将来可能会更改的类,因此在API更新之后可能不兼容或准确.

那么,有没有一种正确的方法可以做到这一点?如果没有,有没有一个很好的方法来实现这一目标?

c# java datetime max jodatime

7
推荐指数
1
解决办法
430
查看次数

Java:GregorianCalendar的最大值和最小值是什么/在哪里?

GregorianCalendar的最大值和最小值是多少?

它们是一个常数,如Integer.MAX_VALUE,还是GregorianCalendar.get(BLAH)?

简而言之,如何创建具有最小/最大值的GregorianCalendar实例?

java calendar gregorian-calendar

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