科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道使用JSR-238更快地全球化您的应用程序(四)

使用JSR-238更快地全球化您的应用程序(四)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

格式化日期/时间的不同风格 Formatter 类支持以下风格: 仅 short date 仅 long date 仅 short time 仅 long time short date 和 time short date 和 time Format

作者:中国IT实验室 来源:中国IT实验室 2007年9月18日

关键字: 使用 编程 java

  • 评论
  • 分享微博
  • 分享邮件

格式化日期/时间的不同风格

Formatter 类支持以下风格:

  • 仅 short date
  • 仅 long date
  • 仅 short time
  • 仅 long time
  • short date 和 time
  • short date 和 time

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 地区
DateTime MIDlet zh-TW DateTime MIDlet de-DE

另一个有用的类

可以使用 StringComparator 执行字符串的排序和比较操作。相关的排序编程示例,请参考 JSR-238 指南。

结束语

    JSR-238 提供了一种更快、更简单的方法,利用 MIDP/CLDC 来国际化您的 MIDlet。使用 javax.microedition.global 包中的 ResourceManager、Formatter 和 StringComparator 类来进行本地化工作以及特定于地区的数据格式化。提醒一下,JSR-238 是一个可选包;务必确保您的设备支持它。现在您应该熟悉了 JSR-238,可以去更出色地完成开发工作了!

关于作者

Photo of Meng Li Wong

Meng Li 是位于台北的中国软件开发实验室的一名软件工程师。她致力于 Test Automation 和 WebSphere Everyplace Micro Environment 项目。她的兴趣爱好包括 Java 编程、旅游、音乐。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章