繁体   English   中英

如何以人类可读的方式显示Java日历?

[英]How do you display Calendar's in Java in a human-readable way?

我有两个由Calendar对象组成的数组列表。 我需要这两个列表包含相同的对象和相同的顺序-事实并非如此。 我在调试器模式下运行了该程序,以检查列表的内容,但是对象说明很乱。 我只想知道每一步的年,月,日是否相同。

这是我的调试器显示的内容:

在此处输入图片说明

当我单击每个索引旁边的箭头以显示更多信息时,我仍然找不到我需要的东西。 有没有解决的办法? 也许还有另一个我不熟悉的调试工具? 在此阶段,我的调试技能仅限于放置断点并单击错误图标。

感谢任何帮助。

  • 右键单击这些日历之一。
  • 选择自定义数据视图...
  • 转到第二个选项卡:Java数据类型渲染器
  • 单击+图标并命名您的渲染器(例如,日历)
  • 在“将渲染器应用于类型...的对象”框中,键入java.util.Calendar
  • 选中单选按钮“使用以下表达式”
  • 键入以下表达式(例如): new SimpleDateFormat("yyyy-MM-dd").format(getTime())
  • 单击确定。

如果您需要处理TimeZones,可以使用此放大到JB Nizet解决方案:

new SimpleDateFormat("dd-MM-yyyy HH:mm:ss.SSS").format(getTime()) + " " + getTimeZone().getDisplayName(false,TimeZone.SHORT) + " " + getTimeZone().getRawOffset()/3600000

输出示例:

在此处输入图片说明

显示时区名称和以小时为单位的偏移量

也可以进行全局配置,请转到此处查看所有活动的详细信息格式化程序并添加新的格式化程序: 首选项 > Java > 调试 > 详细信息格式化程序

合格的类型名称: java.util.Calendar

详细格式化程序代码段返回您定义的字符串,在我的情况下为日期和时间的德语格式:

this.get(Calendar.DAY_OF_MONTH ) + "." + 
(1 + this.get(Calendar.MONTH ) ) + "." + 
this.get( Calendar.YEAR )

这是首选项中的样子: detailFormatterCalendar

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM