是否有可能使Lotus Notes中的Java识别中文(简体)日期?

时间:2014-05-08 10:53:39

标签: java lotus-notes

我在中国的用户使用中文(简体)区域设置。当他们输入日期时,他们会按照通常的中文风格(yyyy / mm / dd)进行,但我的Java代理会将其读作yyyy / dd / mm。

例如," 2013/12/15" (2013年12月15日)将被解释为2013年第15个月的第12天,即2014年3月12日。

我正在使用

Item itm = dataDoc.getFirstItem("CAPublicationDate"); 
DateTime dt = itm.getDateTimeValue();
String adate = dt.getDateOnly();
int yyyy = Integer.parseInt(adate.substring(6));
int mm = Integer.parseInt(adate.substring(3,5));
int day = Integer.parseInt(adate.substring(0,2)); 
Calendar pubdate  =  Calendar.getInstance();                
pubdate.set(yyyy, mm-1, day);

相关字段是时间/日期字段,在中文​​计算机上的Notes文档属性中,日期正确显示为" 2013/12/15",在我的英国机器上,它正确显示为& #34 15/12/2013年&#34 ;.它只是在java代理中被误解了。

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

使用.toJavaDate()返回java.util.Date对象,然后使用它。

示例:

Item itm = dataDoc.getFirstItem("CAPublicationDate"); 
DateTime dt = itm.getDateTimeValue();
Date javaDate = dt.toJavaDate();
Calendar pubdate  =  Calendar.getInstance();
pubdate.setTime(javaDate);