我在double
变量中有一个朱利安日值,如2456707.5。我希望在调试时将其视为可读的日历日期字符串,如6 Feb 2014
。有没有办法在Eclipse中设置它?
更一般地说,有没有办法在我正在调试的应用程序中重新格式化一个人类不可读的值,以便我可以在它发生变化时理解它的价值?
答案 0 :(得分:5)
更一般的问题有几个答案“如何在Eclipse中查看变量的当前值,以我选择的格式”。我更喜欢使用表达式视图(Window> Show View> Other ...> Debug> Expressions)并输入一个以我想要的方式呈现变量的java片段。
这个观点相当强大。以下是您可以扩展的简单示例:
new java.text.SimpleDateFormat("dd").format(java.util.Calendar.getInstance().getTime())
将其放入“表达式”视图中,它将显示今天的日期。在您调试时,“表达式”视图可以完全访问范围内的所有变量。
对于您的特定情况,您需要一个将Julian Day值转换为Date或time(epoch)的类,因为Java本身不支持该值(据我所知)。假设您的类名为JulianDayFormat并扩展DateFormat,那么您可以使用
new java.text.SimpleDateFormat("dd MMM yyyy").format(new your.package.JulianDateFormat().parse(julianDayString))