Java 将两个日期合并为一种格式?
是否可以定义一种组合两个日期的格式?Java 将两个日期合并为一种格式?,java,calendar,jodatime,Java,Calendar,Jodatime,是否可以定义一种组合两个日期的格式? 例如,假设我有date1,例如2016年1月15日和date2。e、 g.2016年1月20日 是否有任何格式可以用来显示以下内容: 2016年1月15日至20日 其他示例: 例如,假设我有date1,例如2016年1月15日和date2。e、 g.2016年5月20日 结果:2016年1月15日至5月20日这里有一种方法可以做到这一点。当然,这并没有考虑到日期可能在不同的月份或年份。它从开始日期开始计算月份和年份 LocalDate startDate =
例如,假设我有
date1
,例如2016年1月15日和date2
。e、 g.2016年1月20日
是否有任何格式可以用来显示以下内容:2016年1月15日至20日 其他示例:
例如,假设我有
date1
,例如2016年1月15日和date2
。e、 g.2016年5月20日
结果:2016年1月15日至5月20日这里有一种方法可以做到这一点。当然,这并没有考虑到日期可能在不同的月份或年份。它从
开始日期开始计算月份和年份
LocalDate startDate = LocalDate.of(2016, 5, 15);
LocalDate endDate = LocalDate.of(2016, 5, 20);
String text = String.format("%1$te-%2$te %1$tB %1$tY", startDate, endDate);
System.out.println(text);
有关格式字符串的工作方式,请参见
注意:这使用的是Java8Java.time.LocalDate
而不是Joda time。这里有一种方法。当然,这并没有考虑到日期可能在不同的月份或年份。它从开始日期开始计算月份和年份
LocalDate startDate = LocalDate.of(2016, 5, 15);
LocalDate endDate = LocalDate.of(2016, 5, 20);
String text = String.format("%1$te-%2$te %1$tB %1$tY", startDate, endDate);
System.out.println(text);
有关格式字符串的工作方式,请参见
注意:这使用的是Java 8Java.time.LocalDate
而不是Joda time。2016年5月15-20日-这不是真正的日期格式。我认为没有任何形式可以做到这一点。但是您可以定义自己的方法,该方法将返回字符串
如果您使用的是Java8,请使用localDate
LocalDate myDate = new LocalDate("2016-5-15");
LocalDate endDate =new LocalDate(2016-5-20);
String format = mydate.getDayOfMonth()
+"-"+ endDate.getDayOfMonth()
+" "+endDate.getMonth().toString()
+" "+endDate.getYear();
2016年5月15日至20日-这不是真实的日期格式。我认为没有任何形式可以做到这一点。但是您可以定义自己的方法,该方法将返回字符串
如果您使用的是Java8,请使用localDate
LocalDate myDate = new LocalDate("2016-5-15");
LocalDate endDate =new LocalDate(2016-5-20);
String format = mydate.getDayOfMonth()
+"-"+ endDate.getDayOfMonth()
+" "+endDate.getMonth().toString()
+" "+endDate.getYear();
我得到以下结果:
2012年5月30日至2013年6月29日
2013年5月30日至6月29日
2013年6月29日至30日
2013年6月30日
我得到以下结果:
2012年5月30日至2013年6月29日
2013年5月30日至6月29日
2013年6月29日至30日
2013年6月30日
ISO 8601
该标准定义了各种日期时间值的文本表示格式
表示时间跨度的标准方法是使用格式为YYYY-MM-DD的日期对,并用斜杠字符连接
2016-01-15/2016-05-20
LocalDate
使用java 8及更高版本内置的java.time框架中的LocalDate
类,使用一对名为start
和stop
的LocalDate
对象
String output = start.toString() + "/" + stop.toString();
ISO 8601
该标准定义了各种日期时间值的文本表示格式
表示时间跨度的标准方法是使用格式为YYYY-MM-DD的日期对,并用斜杠字符连接
2016-01-15/2016-05-20
LocalDate
使用java 8及更高版本内置的java.time框架中的LocalDate
类,使用一对名为start
和stop
的LocalDate
对象
String output = start.toString() + "/" + stop.toString();
结果对象的类型是什么?约会?字符串?@ortis:我想要字符串2016年1月15日的“一月”信息发生了什么?请发布您想要的确切规则。@Tunaki:很抱歉。更新的OPO结果对象的类型是什么?约会?字符串?@ortis:我想要字符串2016年1月15日的“一月”信息发生了什么?请发布您想要的确切规则。@Tunaki:很抱歉。更新的日期范围如何?像第二个example@Jim更改格式字符串,例如:%1$te%1$tb-%2$te%2$tb%1$tY”
-请参阅(更宽的日期范围如何?如第二个example@Jim将格式字符串更改为:%1$te%1$tb-%2$te%2$tb%1$tY”
-请参阅(