问题描述
|
我有以下字符串\“ 29/05/2012 12:11 PM \”
我想将此值添加到DateField
我这样做是这样的:
String dateTime = \"29/05/2012 12:11 PM\";
long initialDateTime = System.currentTimeMillis();
SimpleDateFormat SDF_DateTime = new SimpleDateFormat(\"dd/MM/yyyy hh:mm aa\");
DateField DF_DateTime = new DateField(\"Time: \",initialDateTime,SDF_DateTime,Field.FIELD_LEFT | DrawStyle.LEFT | Field.FOCUSABLE);
DF_DateTime.setTimeZone(TimeZone.getDefault());
DF_DateTime.setDate(stringToDate(dateTime));
add(DF_DateTime);
哪里
public Date stringToDate(String s)
{
Calendar c = Calendar.getInstance(TimeZone.getDefault());
c.set(Calendar.DAY_OF_MONTH,Integer.parseInt(s.substring(0,2)));
c.set(Calendar.MONTH,Integer.parseInt(s.substring(3,5)) - 1);
c.set(Calendar.YEAR,Integer.parseInt(s.substring(6,10)));
c.set(Calendar.HOUR,Integer.parseInt(s.substring(11,13)));
c.set(Calendar.MINUTE,Integer.parseInt(s.substring(14,16)));
c.set(Calendar.SECOND,0);
c.set(Calendar.AM_PM,s.substring(17,19).toLowerCase().equals(\"am\") ? Calendar.AM : Calendar.PM);
return c.getTime();
}
但是该字段显示:\“ 2012/05/30 12:11 \”
而不是“ 2012年5月29日下午12:11”
如果有必要知道,我的设备会在以下时区中设置选项:\“伦敦都柏林(GMT)\”
对正在发生的事情有逻辑上的解释吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)