当前位置: 首页 > 知识库问答 >
问题:

Java SimpleDateFormat格式与yyyy一起出现问题

卫嘉谊
2023-03-14

SimpleDateFormat对象的format方法有问题。

所涉代码是:

new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.getDefault()).format(date);

其中“Date”是使用Calendar.getTimeInMilis()中的长int创建的Date对象;

Calendar cal = Calendar.getInstance();
Date date = new Date(cal.getTimeInMillis());
0044-09-10 05:30:24 
Calendar.getTimeInMillis();

非常感谢任何帮助。

如果需要任何其他信息,请让我知道,我会尽我所能提供。

再次感谢!

这就是问题产生的地方。再次感谢,希望这有帮助。

共有1个答案

漆雕欣德
2023-03-14

要计算日期/时间之间的持续时间,不要依赖于减去毫秒,这是非常不可靠的。

如果您使用的是Java8,那么应该利用新的Java.timeAPI,例如...

LocalDateTime dt1 = LocalDateTime.of(2014, 9, 11, 10, 0);
LocalDateTime dt2 = LocalDateTime.of(2014, 9, 11, 12, 0);

Duration duration = Duration.between(dt1, dt2);
System.out.println(duration.toDays());
System.out.println(duration.toHours());
System.out.println(duration.toMinutes());
System.out.println(duration.getSeconds());

输出...

0
2
120
7200
 类似资料:
  • 问题内容: 我在使用SimpleDateFormat对象的方法时遇到麻烦。 有问题的代码是: 其中“ date”是使用Calendar.getTimeInMillis()中的long int创建的Date对象。 除字符串的年份部分外,其他所有东西都工作正常。当我传递日期时,输出的字符串如下所示: 传递的日期对象是从以下类型返回的长整数创建的: 我相信从此方法返回的数字是从1月1日算起的毫秒数。19

  • 我将teformat构造函数简化为 我正在解析字符串“2013-09-29T18:46:19Z”。 我读到这里Z代表时区。但是当我在控制台上打印这个日期时,它会为返回的日期打印IST timezne。 现在我的问题是我的输出是对还是错?

  • 本文向大家介绍正则表达式实现将MM/DD/YYYY格式的日期转换为YYYY-MM-DD格式,包括了正则表达式实现将MM/DD/YYYY格式的日期转换为YYYY-MM-DD格式的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了正则表达式实现将MM/DD/YYYY格式的日期转换为YYYY-MM-DD格式的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的正则表达式学习有所帮助。

  • 我是一个初学者,我写了这个代码,但它似乎不起作用。我运行代码,框架不出现idk为什么。 我还有一个主要方法: (班级名称是匈牙利语不看)

  • 我正在尝试 我得到的输出是。但预期的是。

  • 问题内容: 我正在尝试将yyyy-MM-dd’T’HH:mm:ss.SSSz格式的日期格式化为yyyy-mm-dd HH:mm:ss,这应该很简单,但我无法正常工作。 必须解析的日期的格式为:2012-10-01T09:45:00.000 + 02:00 现在,我使用此简单的日期格式化程序对其进行格式化: 但这给出的输出类似于2012-10-01T09:45:00.000UTC + 00:00。