扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
格式化日期/时间的不同风格
Formatter 类支持以下风格:
Formatter 类为不同的风格定义了字段。例如,对于仅 short date 这种风格定义了 Formatter.DATE_SHORT,您在 formatDate 方法里使用这些风格就可以了。
清单 3 给出了一个简单的 MIDlet,它示范了日期格式化。
清单 3. 日期格式化 MIDlet
public String formatDateTime(Calendar c){
//Short date format
String result = fmt.formatDateTime(c,Formatter.DATE_SHORT);
String result_set = "";
result_set= result_set+"\n"+"formatDateTime(Calendar, DATE_SHORT) returns:"+result;
//Long date format
result = fmt.formatDateTime(c,Formatter.DATE_LONG);
result_set = result_set+"\n"+"formatDateTime(Calendar, DATE_LONG)returns:"+result;
//Long date and time
result = fmt.formatDateTime(c,Formatter.DATETIME_LONG);
result_set = result_set+"\n"+"formatDateTime(Calendar, DATETIME_LONG)returns:"+result;
//Short date and time
result = fmt.formatDateTime(c,Formatter.DATETIME_SHORT);
result_set = result_set+"\n"+"formatDateTime(Calendar, DATETIME_SHORT) returns:"+result;
//Long time
result = fmt.formatDateTime(c,Formatter.TIME_LONG);
result_set = result_set+"\n"+"formatDateTime(Calendar, TIME_LONG) returns:"+result;
//Short time
result = fmt.formatDateTime(c,Formatter.TIME_SHORT);
result_set = result_set+"\n"+"formatDateTime(Calendar, TIME_SHORT) returns:"+result;
return result_set;
}
//Called by the application manager to start the MIDlet.
public void startApp()
{
display.setCurrent(fmMain);
}
public void pauseApp()
{}
public void destroyApp(boolean unconditional)
{}
//Process events
public void commandAction(Command c, Displayable s)
{
if (c == cmExit)
{
destroyApp(false);
notifyDestroyed();
}
else if( c == cmFormat)
{ //Get the current system date and time
Date dt = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(dt);
siResult.setText(this.formatDatetime(cal));
displayResult();
}
}
|
表 4 展示了 DateTime format MIDlet 在 zh-TW 和 de-DE 这两个地区的显示结果。
表 4. DateTime format MIDlet
| zh-TW 地区 | de-DE 地区 |
|
|
另一个有用的类
可以使用 StringComparator 执行字符串的排序和比较操作。相关的排序编程示例,请参考 JSR-238 指南。
结束语
JSR-238 提供了一种更快、更简单的方法,利用 MIDP/CLDC 来国际化您的 MIDlet。使用 javax.microedition.global 包中的 ResourceManager、Formatter 和 StringComparator 类来进行本地化工作以及特定于地区的数据格式化。提醒一下,JSR-238 是一个可选包;务必确保您的设备支持它。现在您应该熟悉了 JSR-238,可以去更出色地完成开发工作了!
关于作者
|
|
Meng Li 是位于台北的中国软件开发实验室的一名软件工程师。她致力于 Test Automation 和 WebSphere Everyplace Micro Environment 项目。她的兴趣爱好包括 Java 编程、旅游、音乐。 |
|
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。