我有一个这样的字符串 Wed, 22 Aug 2012 06:29:31 +0530
,现在我想将此字符串转换为日期格式,我需要显示日期Wed, 22 Aug 2012
这样的日期并消除其他剩余的字符串?
我需要在我的 LWUIT 表单屏幕上显示日期
String date = "Wed, 22 Aug 2012 06:29:31 +0530";
String shortDate = date.substring(0, 16);
您需要使用 中的方法手动编写代码java.util.Calendar
,我们在 Codename One 中做了一些格式化程序和本地化 API,因此您可以查看我们的代码以供参考或直接转到Codename One。
对于此日期格式 "date_posted":"2012-04-19T16:45:33+01:00" 我使用以下代码。您可以根据需要对其进行自定义。
try {
String dateString = date_posted;
String[] dateArray = Util.split(dateString, "T");
String[] date = Util.split(dateArray[0], "-");
String[] time = Util.split(dateArray[1], ":");
Calendar calStart = Calendar.getInstance();
calStart.set(Calendar.MONTH, Integer.parseInt(date[1]) - 1);
calStart.set(Calendar.DAY_OF_MONTH, Integer.parseInt(date[2]));
calStart.set(Calendar.YEAR, Integer.parseInt(date[0]));
calStart.set(Calendar.HOUR_OF_DAY, Integer.parseInt(time[0]));
calStart.set(Calendar.MINUTE, Integer.parseInt(time[1]));
calStart.set(Calendar.MILLISECOND, 0);
Date postDate = calStart.getTime();
post_time = postDate.getTime();
} catch (Exception ex) {
Logger.err("fromJSON", ex);
}
我使用这样的东西:
String getDateString(Date date) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int minute = calendar.get(Calendar.MINUTE);
int second = calendar.get(Calendar.SECOND);
return new String(/*Any format you need*/);
}
j2me 中没有将字符串转换为日期的特定方法。所以,这根本不可能。