`
Before_Morning
  • 浏览: 36832 次
文章分类
社区版块
存档分类
最新评论

资源国际化之格式的转换

 
阅读更多

一、DateFormat类(国际化日期)

DateFormat 类可以将一个日期/时间对象格式化为表示某个国家地区的日期/时间字符串

DateFormat 类除了可按国家地区格式化输出日期外,它还定义了一些用于描述日期/时间的显示模式的 int 型的常量,包括FULL, LONG, MEDIUM, DEFAULT, SHORT,

实例化DateFormat对象时,可以使用这些常量,控制日期/时间的显示长度

package com.jjyy.dataformat;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

import org.junit.Test;

public class DateFormatDemo {
	/**
	 * 将日期对象转换为字符串表示形式,此时根据地区语言环境不同,需要转成不同样式的字符串形式
	 */
	@Test
	public void test1(){
		Date date = new Date();
		DateFormat format = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL, Locale.CHINA);
		String dateStr = format.format(date);
		System.out.println(dateStr);
	}
	
	/**
	 * 将字符串形式的日期时间信息转换为Date对象
	 * @throws ParseException 
	 */
	@Test
	public void test2() throws ParseException{
		String dateStr = "2015年1月24日 星期五 上午11时56分39秒 CST";
		DateFormat format = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL, Locale.CHINA);
		Date date = format.parse(dateStr);
		System.out.println(date.toLocaleString());
	}
	
	/**
	 * 9月~~10日##2015年**12时%20分%10秒
	 * @throws ParseException 
	 */
	@Test
	public void test3() throws ParseException{
		String dateStr = "09月~~10日##2015年**12时%20分%10秒";
		SimpleDateFormat dateFormat = new SimpleDateFormat("MM月~~dd日##yyyy年**HH时%mm分%ss秒");
		Date date = dateFormat.parse(dateStr);
		System.out.println(date.toLocaleString());
	}
	
	@Test
	public void test4(){
		Date date = new Date();
		SimpleDateFormat dateFormat = new SimpleDateFormat("MM月~~dd日##yyyy年**HH时%mm分%ss秒");
		String str = dateFormat.format(date);
		System.out.println(str);
	}
}

二、NumberFormat类

实例化NumberFormat类时,可以使用locale对象作为参数,也可以不使用

package com.jjyy.NumberFormat;

import java.text.NumberFormat;
import java.text.ParseException;
import java.util.Locale;

import org.junit.Test;

public class NumberFormatDemo {
	/**
	 * 将数字表示成字符串形式,可以根据不同的地区语言环境转换为不同的字符串
	 */
	@Test
	public void test1(){
		double money = 1000000.00;
		NumberFormat format = NumberFormat.getCurrencyInstance(Locale.US);
		String moneyStr = format.format(money);
		System.out.println(moneyStr);
	}
	/**
	 * $1,000,000.00
	 * @throws ParseException 
	 */
	@Test
	public void test2() throws ParseException{
		String moneyStr = "$1,000,000.00";
		NumberFormat format = NumberFormat.getCurrencyInstance(Locale.US);
		double money = format.parse(moneyStr).doubleValue();
		System.out.println(money);
	}
}

三、MessageFormat(动态文本)

如果一个字符串中包含了多个与国际化相关的数据,可以使用MessageFormat类对这些数据进行批量处理

package com.jjyy.messageformat;

import java.text.MessageFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;

public class MSGFormatDemo {
	//At 12:30 pm on jul 3,1998, a hurricance destroyed 99 houses and caused $1000000 of damage
	//当一个语句中有多个和国际化相关的内容时,需要先切割字符串将和国际化相关的数据国际化后再拼接字符串.
	public static void main(String[] args) {
		String str = "At {0,time,full} on {1,date,full}, a hurricance destroyed {2,number} houses and caused {3,number,currency} of damage";
		MessageFormat format = new MessageFormat(str,Locale.CHINA);
		
		Calendar c = Calendar.getInstance();
		c.set(1998, 6, 3, 12, 30, 0);
		Date date = c.getTime();
		
		str = format.format(new Object[]{date,date,99,1000000});
		System.out.println(str);
	}
}


分享到:
评论

相关推荐

    国际化资源文件转换工具

    国际化资源装换工具,开发过程可以利用该工具对资源配置项进行编码转换,大大提高开发效率。

    电子书格式转换工具

    电子书格式转换工具是用于将电子书从一种格式转换为另一种格式的软件应用程序。在数字化阅读日益普及的时代,各种电子书格式如EPUB...了解各种格式的特点和转换工具的使用,可以帮助我们更有效地管理和分享电子书资源。

    Android-Android国际化文档整理xml和excel互转

    "Android-Android国际化文档整理xml和excel互转"项目主要关注如何方便地管理和转换Android应用中的本地化资源。 一、Android的国际化原理 Android的国际化是通过资源文件夹来实现的。在项目的`res`目录下,我们...

    格式转换工具(delphi源码)

    10. **zh.pas**:这个文件可能是国际化资源文件,包含中文字符串,用于程序的多语言支持。 在Delphi源码实现的格式转换工具中,开发者通常会使用各种内置的或第三方的库来处理不同格式的转换,如文本文件、图像文件...

    国际化 必备工具 java编写

    2. **I18N Lib**:开源库,提供了更方便的API来处理国际化,包括动态加载资源、自动处理编码转换等。 3. **Eclipse IDE**:集成开发环境中,Eclipse提供国际化支持,可以方便地编辑和管理资源文件。 综上所述,Java...

    java拦截器_类型转换_国际化

    在Java中,国际化通常通过ResourceBundle类来实现,它可以加载不同语言版本的资源配置文件。资源文件包含了应用中的字符串、数字和其他可变内容,通过指定用户所在的区域设置,程序可以动态地选择并显示相应的语言...

    Eclipse编辑国际化资源文件插件 PropertiesEditor和jinto

    Eclipse作为一款广泛使用的Java IDE,提供了丰富的插件支持,以帮助开发者更加高效地处理国际化资源文件。本文将详细介绍两个Eclipse插件——PropertiesEditor和jinto,它们专门用于编辑和管理国际化资源文件,特别...

    struts1.x 最简洁国际化 源代码

    它们可以从资源包中获取,允许开发者将消息文本与实际代码分离,方便国际化。 4. **Struts标签库**: - Struts1提供了一套丰富的JSP标签库,如`<bean:message>`和`<html:error>`,这些标签可以方便地与资源包中的...

    java 国际化转换

    ### Java国际化转换详解 #### 一、Java国际化概念与意义 在软件开发过程中,随着产品的全球化,越来越多的应用程序需要支持多种语言环境。这就引出了一个重要的概念——国际化(Internationalization)。通常简称...

    HEIC格式转换器.rar

    HEIC(High Efficiency Image File Format)是一种现代的图像文件格式,由国际电报电话咨询委员会(ITU-T)和国际标准化组织(ISO)联合制定。它采用了高效编码技术,如High Efficiency Video Coding(HEVC),因此...

    Struts2实例 国际化 类型转换 struts标签

    这个实例项目展示了如何在实际应用中结合Struts2、国际化、类型转换以及Struts2自定义标签来实现用户管理功能,包括用户数据的增删改查。 首先,我们来看Struts2的核心概念。Struts2作为MVC框架,它负责处理HTTP...

    js 国际化实现

    3. **资源文件**:在实现国际化时,需要创建一个或多个资源文件,存储不同语言的文本。例如,对于英文和中文,可能有`en.json`和`zh.json`,分别包含对应的翻译字符串。 4. **加载策略**:根据应用需求,可以选择...

    jinto eclipse 国际化 转换中文插件

    标题 "jinto eclipse 国际化 转换中文插件" 暗示我们讨论的是一个用于Eclipse集成开发环境(IDE)的插件,名为Jinto,其主要功能是帮助用户实现项目的国际化(i18n)并支持中文环境。这个插件可能包含了使代码适应...

    Shape格式海图数据向S57格式的转换

    随着信息技术的飞速发展,数字海图作为航海安全和效率的重要保障,其标准化、国际化的需求日益凸显。传统的Shape格式数据,作为一种广泛使用的地理信息系统(GIS)数据格式,其在数据组织和属性表达上与国际海道测量...

    struts1.2 国际化

    Struts 1.2 框架作为 Java Web 开发的经典框架之一,提供了强大的国际化支持。本文将详细介绍 Struts 1.2 如何实现国际化,以及如何利用该框架创建国际化应用。 #### 二、本地化与国际化基础 ##### 1. 本地化 ...

    Struts中的国际化(资源文件的应用)

    Struts框架的国际化支持允许开发者创建多语言的应用程序,以满足全球不同地区用户的语言需求。国际化(I18N)是软件设计的一个重要方面,它确保程序可以根据用户的地域设置显示相应的语言内容。在Struts中,这一功能...

    C#语言国际化方法

    2. **本地化(Localization)**:通常缩写为l10n(取首字母l和末尾字母n之间有10个字符),是在特定地区或语言环境下对应用程序进行适应性调整的过程,包括但不限于语言、日期格式、货币符号等的转换。 #### 三、实现...

    ssm框架上实现国际化/多语言

    在实现国际化时,我们通常会创建一系列的资源文件,例如`messages.properties`(默认语言,如英语)和`messages_zh_CN.properties`(中文简体)。这些文件存储了应用中的所有文本信息,如按钮标签、错误消息等。每...

    convrnx_rinex格式转换_

    Rinex(Receiver Independent Exchange Format)是一种国际通用的 GNSS(全球导航卫星系统)观测数据交换格式,主要用于存储卫星定位接收机收集的原始观测数据。它为不同制造商的接收机之间的数据共享提供了标准化的...

    javaee国际化

    默认情况下,Struts2提供了一些基础的国际化资源文件,如struts-messages.properties和xwork-messages.properties,用于处理错误提示和类型转换错误。但是,对于中文等其他语言,我们需要自定义全局的国际化资源文件...

Global site tag (gtag.js) - Google Analytics