Java 输入并比较两个日期
我对日期对象不是很熟悉,所以我想问一下,我该如何要求用户输入与以下方法兼容的日期,以找出天数的差异:Java 输入并比较两个日期,java,date,Java,Date,我对日期对象不是很熟悉,所以我想问一下,我该如何要求用户输入与以下方法兼容的日期,以找出天数的差异: public long diferenciaFecha(LocalDate pfecha1, LocalDate pfecha2){ LocalDate fecha1 = pfecha1; LocalDate fecha2 = pfecha2; Period p = Period.between(fecha1, fecha2); long resul = ChronoUnit
public long diferenciaFecha(LocalDate pfecha1, LocalDate pfecha2){
LocalDate fecha1 = pfecha1;
LocalDate fecha2 = pfecha2;
Period p = Period.between(fecha1, fecha2);
long resul = ChronoUnit.DAYS.between(fecha1, fecha2);
System.out.println(" Han pasado: " + resul + " dias.)");
return resul;
}
}
输入格式是什么样的
提前多谢与时间相关的编程可能会非常令人沮丧。时态类被发明来帮助操作时间值,并帮助将文本和数值转换为时间值。如果您使用的是像LocalDate和ChronoUnit这样的Java类,您可以在Oracle的网站上通过简单的google搜索类名来查找它们 如果你在时间上有困难,我强烈建议你复习一下时态课程,因为当你开始处理时间和时区等问题时,它会更复杂 “公共最终类LocalDate” 扩展对象 实现时态、时态调整器、时态CalDate、可序列化 ISO-8601日历系统中没有时区的日期,如2007-12-03。“
您的代码似乎正在使用java 8中的新java.time包。当然,请查看
import
语句
LocalDate类使用s来创建实例,而不是构造函数。有关几种方法,请参见
LocalDate now = LocalDate.now ( ZoneId.of( "America/Montreal" ) );
或者
如果用户正在输入文本,则解析为数字
LocalDate localDate = LocalDate.of( Integer.parseInt( "2014") , Integer.parseInt( "1") , Integer.parseInt( "23") );
或以标准格式解析为一个字符串
对于其他格式,请在堆栈溢出中搜索使用类解析字符串的许多讨论和示例
关于java.time 该框架内置于Java8及更高版本中。这些类取代了麻烦的旧日期时间类,例如,& 该项目现已启动,建议迁移到类 要了解更多信息,请参阅。并搜索堆栈溢出以获得许多示例和解释。规格是 使用兼容的或更高版本,您可以直接与数据库交换java.time对象。不需要字符串,也不需要java.sql.*类 从哪里获得java.time类
- ,及以后
- 内置的李>
- 标准JavaAPI的一部分,带有捆绑实现
- Java9添加了一些次要功能和修复
- 及
- 大部分java.time功能都在中向后移植到Java6和Java7
-
- 更高版本的Android捆绑包实现了java.time类
- 对于早期的Android,该项目采用了ThreeTen Backport(如上所述)。看
LocalDate localDate = LocalDate.of( Integer.parseInt( "2014") , Integer.parseInt( "1") , Integer.parseInt( "23") );
LocalDate localDate = LocalDate.parse( "2014-01-23" ) ;