扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
格式化日期/时间的不同风格
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领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者