`
tanzek
  • 浏览: 52964 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

你的SimpleDateFormat起作用了吗?

阅读更多
通过SimpleDateFormat格式化日期输出是一种常见的用法,如下:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(
new Date()));
如果上述代码正常工作,它将显示当前的日期年月日时分秒格式。

但是有时候它并没有如我们预期的那样,而显示的时间比当前的时间少了八个小时,或是多了八个小时,而这一切就需要我们再关注另外一个问题,那就是时区(TimeZone)。
如果我们将时区进行设置为“东八区”,那么就一切回复正常了。如下有两种方式:

1、通过改变默认的时区
TimeZone.setDefault(TimeZone.getTimeZone("GMT+8:00"));
SimpleDateFormat sdf 
= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(sdf.format(Calendar.getInstance()));

2、通过设定SimpleDateFormat的构造参数
    通过查阅API手册,可知SimpleDateFormat还有一个构造函数:SimpleDateFormat(String pattern, Locale locale) ,因此我们就可通过设定Locale来取得特定时区的日期格式。
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA);
System.out.println(sdf.format(new Date());

到这时候,关于时区的简单设定就结束了,更多的参考请在网上搜索关于Java Locale的设定文章。
分享到:
评论

相关推荐

    java SimpleDateFormat &Calendar

    这个类的主要作用是将日期或时间对象转换为字符串,或者将字符串转换为日期对象。`SimpleDateFormat`的模式由字母和数字组成,如"yyyy-MM-dd HH:mm:ss",其中每个字母或数字代表一种日期或时间元素。例如,'y'代表年...

    Java多线程环境下SimpleDateFormat类安全转换

    "Java多线程环境下SimpleDateFormat类安全转换" 在Java多线程环境下,SimpleDateFormat类的使用可能会出现线程安全问题。本文主要介绍了Java多线程环境下SimpleDateFormat类的安全转换,通过示例代码详细介绍了如何...

    Java中的SimpleDateFormat使用详解

    在Java编程语言中,`SimpleDateFormat`是`java.text.DateFormat`类的一个具体实现,它用于以国际化的方式对日期和时间进行格式化和解析。这个类提供了丰富的功能,允许程序员自定义日期时间的显示格式,从而满足不同...

    JAVA使用SimpleDateFormat类表示时间代码实例

    Date 类最主要的作用就是获取当前时间,我们可以直接输出 Date 对象显示当前的时间。 但是,默认的时间格式不是很友好,与我们日常看到的日期格式不太一样。这时我们可以使用 java.text 包中的 SimpleDateFormat 类...

    java.lang.IllegalArgumentException Cannot format given Object as a Date

    首先,我们需要理解`java.text.SimpleDateFormat`的作用。这个类是Java日期时间API的一部分,用于将日期和时间对象转换为字符串,或将字符串解析为日期对象。它依赖于模式字符串来定义日期和时间的格式。例如,模式...

    简单了解spring bean作用域属性singleton和prototype的区别

    Spring Bean作用域属性singleton和prototype的区别详解 Spring Framework中,Bean的作用域属性是指Bean实例的生命周期和作用域。Spring提供了五种作用域:singleton、prototype、request、session和global session...

    java swing 日期控件

    在处理日期格式化时,`java.text.DateFormat` 和其子类 `java.text.SimpleDateFormat` 起到了关键作用。它们可以将日期转换为字符串,反之亦然,以便在`JDatePicker` 的`JFormattedTextField` 中显示和读取。 ```...

    java面试题

    Class.forName作用? 答:调用该访问返回一个以字符串指定类名的类对象。 JDO? 答:JDO是java对象持久化的新的规范,为java data object的简称,也是一个用于存取某种数据仓库中的对象的标准化API。 CORBA? 答:...

    自己整理的日期时间工具类

    ### 一、日期时间工具类的作用与应用场景 日期时间工具类主要用于处理日期和时间相关的操作,比如日期的格式化、解析、比较等。在实际开发中,此类工具类十分常见,因为几乎所有的应用都会涉及到日期和时间的处理。...

    与众不同的 Java 日期格式化大全

    Java 日期格式化大全是 Java 中一个非常重要的知识点,它对于将时间字符串转换为日期或将日期转换为时间字符串起着关键作用。在 Java 中,我们通常使用 `java.text.SimpleDateFormat` 类来处理日期和时间字符串的...

    servlet生成时间

    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String timeNow = df.format(new Date()); ``` 这里使用了`SimpleDateFormat`类来格式化日期。`SimpleDateFormat`是一个可以用来格式化...

    Java面向对象面试题.pdf

    2. 作用域 public, protected, private, 以及不写时的区别:public 表示公开访问,protected 表示保护访问,private 表示私有访问,而不写时默认为包访问。 3. 编程输出图形:可以使用 Java 的画图库来实现图形的...

    日期类 将短时间格式时间转换为字符串

    例如,当你需要从数据库中读取日期数据并展示给用户时,可以先将数据库中的日期转换为字符串,或者在用户输入日期后,将字符串再转换回日期存储到数据库。 需要注意的是,Java 8 引入了 `java.time` 包,其中的 `...

    2014年Java最全面试题以及答案.

    可以使用SimpleDateFormat类或者java.time包下的DateTimeFormatter类来格式化日期。 29. 编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串? 可以使用String类的构造器,指定目标编码来创建一...

    java 手机时间显示

    为了具体了解`MobileCalendar.java`的内容,你需要打开文件查看其源代码,根据实际情况理解和解释每个方法和类的作用。 总之,Java和Android提供了丰富的API来处理手机上的时间和日期。无论是简单的显示当前时间,...

    16_常用API_第2天(正则表达式、Date、DateFormat、Calendar)_讲义

    在Java编程语言中,正则表达式、Date、DateFormat和Calendar是四个非常重要的API,它们在处理字符串匹配、日期和时间操作中起着关键作用。本文将深入探讨这些概念及其在实际开发中的应用。 首先,让我们来了解一下...

    corejava面试题

    `switch` 是否能作用在 `byte` 上,是否能作用在 `long` 上,是否能作用在 `String` 上?\n在Java 7之前,`switch`仅支持`byte`, `short`, `char`, 和 `int`。从Java 7开始,`switch`也支持枚举类型。在Java 8及以后...

    java中的技巧.pdf

    Java编程语言提供了丰富的功能来处理日期、时间、字符串格式化以及图形绘制,这些知识点在给定的文件中有所体现。让我们逐一深入探讨。...这些是Java编程中常用且实用的技巧,对日常开发工作有着重要的作用。

    实例讲解String Date Calendar之间的转换

    同时,了解`SimpleDateFormat`的作用和使用也是十分必要的,它允许我们灵活地定义日期和时间的格式,从而实现各种复杂的需求。在实际开发中,还要注意线程安全问题,尤其是在多线程环境下使用这些类时。

    JAVA面试题目

    使用java.text.SimpleDateFormat类。 42. 编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串。 需要先将GB2312字符串转换为字节序列,然后再从字节序列转换为ISO-8859-1编码的字符串。 以上...

Global site tag (gtag.js) - Google Analytics