日期和时间的国际化

2019-03-17 22:52|来源: 网路

DateFormat 类可以将一个日期/时间对象格式化为表示某个国家地区的日期/时间字符串。
DateFormat 类除了可按国家地区格式化输出日期外,它还定义了一些用于描述日期/时间的显示模式的 int 型的常量,包括FULL, LONG, MEDIUM, DEFAULT, SHORT,实例化DateFormat对象时,可以使用这些常量,控制日期/时间的显示长度。

实例化DateFormat类有九种方式,以下三种为带参形式,下面列出的三种方式也可以分别不带参,或只带显示样式的参数。
   getDateInstance(int style, Locale aLocale):以指定的日期显示模式和本地信息来获得DateFormat实例对象,该实例对象不处理时间值部分。
   getTimeInstance(int style, Locale aLocale):以指定的时间显示模式和本地信息来获得DateFormat实例对象,该实例对象不处理日期值部分。
   getDateTimeInstance(int dateStyle, int timeStyle, Locale aLocale):以单独指定的日期显示模式、时间显示模式和本地信息来获得DateFormat实例对象。

DateFormat 对象的方法    

   format:将date对象格式化为符合某个本地环境习惯的字符串。
   parse:将字符串解析为日期/时间对象
   注意:parse和format完全相反,一个是把date时间转化为相应地区和国家的显示样式,一个是把相应地区的时间日期转化成date对象,该方法在使用时,解析的时间或日期要符合指定的国家、地区格式,否则会抛异常。
   DateFormat 对象通常不是线程安全的,每个线程都应该创建自己的 DateFormat  实例对象


示例:
@Test
public void testDate() throws ParseException {
    Date date = new Date(); // 当前这一刻的时间(日期、时间)
    // 输出日期部分
    DateFormat df = DateFormat.getDateInstance(DateFormat.FULL, Locale.GERMAN);
    String result = df.format(date);
    System.out.println(result);
    // 输出时间部分
    df = DateFormat.getTimeInstance(DateFormat.FULL, Locale.CHINA);
    result = df.format(date);
    System.out.println(result);
    // 输出日期和时间
    df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.LONG, Locale.CHINA);
    result = df.format(date);
    System.out.println(result);
    // 把字符串反向解析成一个date对象
    String s = "10-9-26 下午02时49分53秒";
    df = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.LONG, Locale.CHINA);
    Date d = df.parse(s);
    System.out.println(d);
}


书生整理于网络

相关问答

更多
  • 对啊,东方黑客联盟有个 java黑马程序员的教程,第一章就是介绍的。你可以看看。还有个电影
  • 在locale中设置。。。但是不是跟跳转同步的要改下哦
  • 这个你要看看你使用的是怎么配置的i18n 还有有的是使用的是XX.properties
  • 只能用最老土的办法了,中文的做一个模板,英文的做一个模板
  • 在src下建一个struts.properties文件,在文件中设定国际化文件路径 struts.custom.i18n.resources=路径+globalMessages (如果国际化文件名为:globalMessages_zh.properties) 试试看
  • 为了让react 实现本地语言,就需要i18n 当然首先就要npm install npm install react-intl --save 安装好intl,这个组件依赖react 版本为 0.14.0 以上 或者 15.0.0以上 如果是0.13.0 的 就要对react 升级,主要 0.14以后react 对组件进行了分离,分为 react 和react-dom 还有react-addons 正文开始 建立语言文件:data.json 汉字进行Unicode编码转换 [javascript] view ...
  • 看看这个页面 。 你应该能够做一些事情: Locale currentLocale = new Locale("en", "US"); SimpleDateFormat sdf = new SimpleDatFormat("EEE MMM dd", currentLocale); 要么: Locale currentLocale = new Locale("fr", "CA"); SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd", curre ...
  • 官方的i18n angular2将在最终发布之前的rc版本中实现。 它也会比目前的解决方案更先进。 更多信息i18n的新概念如何在angular2中工作: https://lingohub.com/blog/2015/03/angular-2-i18n-update-ng-conf-2015 更新2016年9月6日: 对国际化的支持现在在Angular 2 RC6中正式发布 官方发布博客: https://angularjs.blogspot.nl/2016/09/angular-2-rc6_1.html ...
  • 你想要做的是将任何日期时间值存储为UTC 。 这意味着存储为时区独立值。 你可以在你的MS-SQL服务器中设置某种插入触发器(我假设你使用MS-SQL是因为asp.net部分)。 你在那里确定UTC时间。 `-- MS SQL (use instead of GETDATE()) DECLARE @currentTime datetime SET @currentTime = GETUTCDATE()` 如果你想在代码中使用UtcTimeNow来访问UTC时间。 // C# (use instea ...
  • 我假设你已经阅读了本地化指南 。 这应该可以帮助你翻译你的字符串。 您还会对Format类感兴趣,特别是NumberFormat (数字,百分比,货币...)和DateFormat 。 I assume you've read the localization-guide. That should help you translate your strings. You'll also be interested in the Format classes, particularly NumberForma ...