java如何格式化GregorianCalendar
我有一个^{
行System.out.print("End of rental: " + endDate);
生成以下非常长的日历。如何将其格式设置为dd/mm/yyyy
End of rental: java.util.GregorianCalendar[time=1495050625200,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Europe/London",offset=0,dstSavings=3600000,useDaylight=true,transitions=242,lastRule=java.util.SimpleTimeZone[id=Europe/London,offset=0,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]],firstDayOfWeek=2,minimalDaysInFirstWeek=4,ERA=1,YEAR=2017,MONTH=4,WEEK_OF_YEAR=20,WEEK_OF_MONTH=3,DAY_OF_MONTH=17,DAY_OF_YEAR=137,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=3,AM_PM=1,HOUR=8,HOUR_OF_DAY=20,MINUTE=50,SECOND=25,MILLISECOND=200,ZONE_OFFSET=0,DST_OFFSET=3600000]
# 1 楼答案
强烈推荐@Basil Bourque的答案。我只想补充一下Java6和Java7的答案(因此,如果您使用的是Java8或更高版本,请忽略)。另外,如果您可以完全避免使用
Calendar
类(这是最好的),那么您应该使用另一个答案。在下面的例子中,我假设您无法避免从某个遗留API获得一个Calendar
对象,而您现在无法更改或不想更改该对象爪哇。时间和三十个后端口
我以一个重复的问题为例,如何将日历对象转换为如下所示的日期格式(底部的链接)。所需的格式如下所示:
我们可以通过以下方式获得。首先,我们实例化一个格式化程序:
然后我们就这样使用它
本例中的输出是所需的:
问题:我可以使用java吗。Java 7上的时间
是的,java。时间在Java 7中运行得很好。它至少需要Java6
org.threeten.bp
导入日期和时间类李>链接
java.time
首先被描述李># 2 楼答案
tl;博士
细节
从麻烦的遗留类} 。调用^{} 以生成标准ISO 8601格式的文本
GregorianCalendar
转换为现代java。时间类^{得到这样的结果:
对于您的约会,请使用^{} Specify自定义格式模式
关于java。时间
java.time框架内置于Java8和更高版本中。这些类取代了麻烦的旧legacy日期时间类,如^{} 、^{} 、&^{}
现在位于maintenance mode的Joda-Time项目建议迁移到java.time类
要了解更多信息,请参阅Oracle Tutorial。并搜索堆栈溢出以获得许多示例和解释。规范是JSR 310
在哪里可以获得java。时间课
{a25}项目扩展了java。额外上课的时间。这个项目是将来可能添加到java的一个试验场。时间您可以在这里找到一些有用的类,例如^{} 、^{} 、^{} 和more