0 0

java 国际化时间问题3

一个系统,客户有美国的和中国的,由于2个地方时区不同,要求中国用户提交时的日期,在美国用户访问时显示为美国时间,这个该怎么实现?另外数据库里面存的这个日期该怎么存呢?页面上显示的时候怎么转换时区?

我觉得数据库肯定是存某个时区的时间,然后页面上根据客户端的时区进行转换,不知道对不对
问题补充:
如何转换成UTC时间?utc时间如何转为某个时区的时间?
我db的字段类型是timestamp
问题补充:
问题已经解决。
结论如下:
1.date类型的存储的是一个距离1970年以来的毫秒数,这个值与时区无关。
换句话说, new Date()获得的日期在任何时区下都一样

2.至于不同时区的显示问题,其实只是显示方式不一样而已。
只需要将SimpleDateFormat的timezone设置一下而已,调用format方法得到的是该日期在某种时区下的显示方式
2010年1月05日 10:38

3个答案 按时间排序 按投票排序

0 0

采纳的答案

//当前系统默认时区的时间:
Calendar calendar=new GregorianCalendar();
System.out.print("时区:"+calendar.getTimeZone().getID()+"  ");
System.out.println("时间:"+calendar.get(Calendar.HOUR_OF_DAY)+":"+calendar.get(Calendar.MINUTE));
//美国洛杉矶时区
TimeZone tz=TimeZone.getTimeZone("America/Los_Angeles");
//时区转换
calendar.setTimeZone(tz);
System.out.print("时区:"+calendar.getTimeZone().getID()+"  ");
System.out.println("时间:"+calendar.get(Calendar.HOUR_OF_DAY)+":"+calendar.get(Calendar.MINUTE));

2010年1月05日 12:50
0 0

//当前系统默认时区的时间:
Calendar calendar=new GregorianCalendar();
System.out.print("时区:"+calendar.getTimeZone().getID()+"  ");
System.out.println("时间:"+calendar.get(Calendar.HOUR_OF_DAY)+":"+calendar.get(Calendar.MINUTE));
//美国洛杉矶时区
TimeZone tz=TimeZone.getTimeZone("America/Los_Angeles");
//时区转换
calendar.setTimeZone(tz);
System.out.print("时区:"+calendar.getTimeZone().getID()+"  ");
System.out.println("时间:"+calendar.get(Calendar.HOUR_OF_DAY)+":"+calendar.get(Calendar.MINUTE));

2010年1月05日 12:50
0 0

存入db时将本地时间转化成utc时间,取出时将utc时间转为当前locale或timezone的时间。譬如

/**
     * Gets a calendar using the specified time zone and default locale.
     * The <code>Calendar</code> returned is based on the current time
     * in the given time zone with the default locale. 
     *
     * @param zone the time zone to use
     * @return a Calendar.
     */
    public static Calendar getInstance(TimeZone zone)
    {
        return createCalendar(zone, Locale.getDefault());
    }

2010年1月05日 11:27

相关推荐

    java国际化&时间处理

    Java国际化(Internationalization)与时间处理是开发过程中两个重要的领域,尤其对于构建全球化应用程序来说,理解和掌握这些概念至关重要。国际化允许软件适应不同地区的语言、文化习惯和格式,而时间处理则涉及...

    java国际化官方指南

    Java作为广泛使用的编程语言之一,提供了强大的国际化支持。国际化,通常指软件能够支持多种语言和地区的不同习惯,...遵循Java国际化官方指南,开发者可以将应用程序本地化为多种语言,适应不同地区用户的使用习惯。

    java国际化i18n

    Java国际化(i18n)是Java平台为支持全球不同地区的用户和语言而设计的一种机制。i18n这个名字来源于“internationalization”这个单词,其中'i'是第9个字母,'n'是第14个字母,所以18代表了两者之间的字母数。Java的...

    java国际化实现框架底层源码

    Java国际化实现框架底层源码分析 Java国际化(i18n,Internationalization)是为了支持不同地区的语言和文化差异,提供了一种灵活的方式来管理和显示应用程序的文本、日期、数字和其他文化敏感的信息。Java提供了...

    java国际化.ppt

    Java 国际化(i18n)是开发支持多语言的应用程序的关键步骤,使得软件能够适应不同国家和地区用户的需求。以下将详细讲解Java中实现国际化涉及的主要知识点: 1. **软件国际化的意义**: - 提高软件的全球适用性,...

    Java 程序国际化教程+源码

    Java程序的国际化(i18n)是为了使软件能够适应不同地区的语言和文化习惯,它涉及到日期、时间、数字格式、货币符号、排序规则、文本方向等多方面的处理。本教程将详细介绍Java如何实现这一功能,并提供源码供学习者...

    关于JAVA国际化的问题资料

    ### 关于JAVA国际化的问题资料 #### 一、JAVA国际化的概念与重要性 JAVA国际化(Internationalization,简称I18N)是指设计和开发应用程序时,使其能够在不同的语言和文化环境中运行,而无需进行代码修改。它关注...

    Java 国际化操作

    2. **Resource Bundle**:资源包是Java国际化的关键组成部分,它是一个包含特定语言环境下的文本和数据的文件集合。通常以.properties格式存储,例如`messages_en.properties`和`messages_fr.properties`分别代表...

    最简单的java国际化例子

    Java国际化(Internationalization,通常缩写为i18n)是一种设计和开发应用程序的方法,使得它们可以适应不同的语言和地域文化。在Java中,通过使用特定的API和资源文件,我们可以实现应用程序的国际化,以便在不同...

    java 国际化转换

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

    JAVA_国际化程序实现

    国际化不仅仅是技术问题,还需要对不同文化的敏感性和理解。在编写本地化资源时,要考虑文化差异,比如日期的顺序、数字的分隔符以及文本的语序等。 总的来说,Java的国际化程序实现涉及到资源管理、日期和数字格式...

    javaI18N[国际化]

    Java I18N(国际化)是Java平台提供的一项重要功能,它使得开发的软件能够适应全球不同地区的语言和文化环境。I18N这个术语来源于“Internationalization”,其中“I”和“N”之间有18个字母,因此简称为I18N。Java...

    Java internationalization basics.zip_JAVA 国际化_doc_国际化 java

    Java国际化的概念主要涉及到软件在全球范围内适应不同语言和文化环境的能力。在Java中,这个过程称为i18n(国际化)和l10n(本地化)。i18n是"internationalization"的首字母缩写,而l10n是"localization"的首字母...

    Java程序国际化教程源码下载

    1. **资源包(Resource Bundle)**:资源包是Java国际化的核心,它存储了特定语言环境下的文本、消息、符号和其他用户界面元素。在Java中,资源包通常是`.properties`文件,如`messages.properties`用于英语,`...

    java web 国际化

    国际化不仅限于文本信息,还可以包括日期、时间、货币等格式的显示,这通常需要额外的设置和格式化规则。Java Web开发中的国际化处理不仅提升了应用程序的可用性,也是全球化策略的重要组成部分。

    java日期格式化

    7. **国际化**:`SimpleDateFormat`和`DateTimeFormatter`都支持国际化,可以设置不同的语言环境来适应不同国家/地区的日期和时间格式。 总结来说,Java提供了多种方式来处理日期和时间的格式化,包括传统的`java....

    java国际化代码(jsp)

    Java国际化不仅限于字符串,还可以本地化日期、时间、数字格式,甚至整个用户界面布局。通过组合使用Java的这些特性,可以构建高度可扩展且适应多种语言环境的应用程序。 综上所述,Java的国际化功能强大且灵活,...

Global site tag (gtag.js) - Google Analytics