`
紫竹星云
  • 浏览: 29581 次
社区版块
存档分类
最新评论

SimpleDateFormat使用详解

 
阅读更多
public class SimpleDateFormat extends DateFormat

SimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的具体类。 它允许格式化 (date -> text)、语法分析 (text -> date)和标准化。

SimpleDateFormat 允许以为日期-时间格式化选择任何用户指定的方式启动。 但是,希望用 DateFormat 中的 getTimeInstancegetDateInstancegetDateTimeInstance 创建一个日期-时间格式化程序。 每个类方法返回一个以缺省格式化方式初始化的日期/时间格式化程序。 可以根据需要用 applyPattern 方法修改格式化方式。

SimpleDateFormat函数的继承关系:
java.lang.Object
          |
         +----java.text.Format
                   |
                   +----java.text.DateFormat
                              |
                              +----java.text.SimpleDateFormat

下面是个小例子:
import java.text.*;
import java.util.Date;

/**
SimpleDateFormat函数语法:

G 年代标志符
y 年
M 月
d 日
h 时 在上午或下午 (1~12)
H 时 在一天中 (0~23)
m 分
s 秒
S 毫秒
E 星期
D 一年中的第几天
F 一月中第几个星期几
w 一年中第几个星期
W 一月中第几个星期
a 上午 / 下午 标记符
k 时 在一天中 (1~24)
K 时 在上午或下午 (0~11)
z 时区
*/
public class FormatDateTime {

public static void main(String[] args) {
SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
SimpleDateFormat myFmt1=new SimpleDateFormat("yy/MM/dd HH:mm");
SimpleDateFormat myFmt2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//等价于now.toLocaleString()
SimpleDateFormat myFmt3=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E ");
SimpleDateFormat myFmt4=new SimpleDateFormat(
"一年中的第 D 天 一年中第w个星期 一月中第W个星期 在一天中k时 z时区");
Date now=new Date();
System.out.println(myFmt.format(now));
System.out.println(myFmt1.format(now));
System.out.println(myFmt2.format(now));
System.out.println(myFmt3.format(now));
System.out.println(myFmt4.format(now));
System.out.println(now.toGMTString());
System.out.println(now.toLocaleString());
System.out.println(now.toString());
}

}

效果:
2004年12月16日 17时24分27秒
04/12/16 17:24
2004-12-16 17:24:27
2004年12月16日 17时24分27秒 星期四
一年中的第 351 天 一年中第51个星期 一月中第3个星期 在一天中17时 CST时区
16 Dec 2004 09:24:27 GMT
2004-12-16 17:24:27
Thu Dec 16 17:24:27 CST 2004

下面是个JavaBean:
public class FormatDateTime {

public static String toLongDateString(Date dt){
SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E ");
return myFmt.format(dt);
}

public static String toShortDateString(Date dt){
SimpleDateFormat myFmt=new SimpleDateFormat("yy年MM月dd日 HH时mm分");
return myFmt.format(dt);
}

public static String toLongTimeString(Date dt){
SimpleDateFormat myFmt=new SimpleDateFormat("HH mm ss SSSS");
return myFmt.format(dt);
}
public static String toShortTimeString(Date dt){
SimpleDateFormat myFmt=new SimpleDateFormat("yy/MM/dd HH:mm");
return myFmt.format(dt);
}

public static void main(String[] args) {

Date now=new Date();

System.out.println(FormatDateTime.toLongDateString(now));
System.out.println(FormatDateTime.toShortDateString(now));
System.out.println(FormatDateTime.toLongTimeString(now));
System.out.println(FormatDateTime.toShortTimeString(now));
}

}
调用的main 测试结果:
2004年12月16日 17时38分26秒 星期四
04年12月16日 17时38分
17 38 26 0965
04/12/16 17:38

 

 

需要引进 java.util.Calendar 和 java.text.SimpleDateFormat 这两个类:

Calendar rightNow = Calendar.getInstance();
SimpleDateFormat fmt = new SimpleDateFormat("yyyyMMddhhmmss");
String sysDatetime = fmt.format(rightNow.getTime());

可以对 new SimpleDateFormat("yyyyMMddhhmmss") 中引号里面的格式进行编辑,转换成自己相要的格式,比如还可以转
换成 new SimpleDateFormat("yyyy/MM/dd hh:mm:ss ") 的格式。

分享到:
评论

相关推荐

    Java中的SimpleDateFormat使用详解

    在本文中,我们将深入探讨`SimpleDateFormat`的使用和相关知识点。 `SimpleDateFormat`的基本使用方法是创建一个新的实例,并通过传递一个字符串模式来设定日期和时间的格式。这个模式字符串由一系列特定的字母和...

    java日期格式化SimpleDateFormat的使用详解

    java 日期格式化 SimpleDateFormat 的使用详解 java 中的日期格式化是通过 SimpleDateFormat 类来实现的,该类提供了灵活的日期格式化方式,通过指定日期和时间模式字符串,可以将日期和时间格式化为字符串。日期和...

    Java中SimpleDateFormat用法详解

    需要注意的是,`SimpleDateFormat`不是线程安全的,所以在多线程环境中,如果多个线程同时使用一个`SimpleDateFormat`实例,可能会出现错误。为了避免这个问题,可以在每个线程内部创建单独的实例,或者使用`...

    由浅入深解析 SimpleDateFormat

    SimpleDateFormat 详解 SimpleDateFormat 是 Java 语言中的一种日期和时间格式化类,用于将日期和时间格式化为字符串或将字符串解析为日期和时间。它是 DateFormat 的子类,继承自 java.text.Format。 ...

    Java SimpleDateFormat中英文时间格式化转换详解

    Java SimpleDateFormat中英文时间格式化转换详解 本文主要为大家详细介绍了Java SimpleDateFormat中英文时间格式化转换的知识点,包括日期和时间模式的设定、SimpleDateFormat的使用、日期和时间格式的转换等。 ...

    Java中SimpleDateFormat日期格式转换详解及代码示例

    Java中SimpleDateFormat日期格式转换详解及代码示例 SimpleDateFormat是Java中处理日期格式转换的类,继承于DateFormate。它提供了多种格式定义,能够将日期类型时间转换为字符串类型时间,反之亦然。 ...

    详解SimpleDateFormat的线程安全问题与解决方案

    由于`SimpleDateFormat`不是线程安全的,当多个线程同时使用一个`SimpleDateFormat`实例时,可能会出现竞态条件(race condition)。例如,在线程A和线程B中,如果线程A先执行`parse()`方法,清理了`Calendar`,然后...

    Java SimpleDateFormat线程安全问题原理详解

    Java SimpleDateFormat线程安全问题原理详解 Java SimpleDateFormat线程安全问题是Java开发中一个常见的问题。SimpleDateFormat是Java中一个常用的日期时间格式化类,但是它却存在线程安全问题。在多线程环境下,...

    详解Java中格式化日期的DateFormat与SimpleDateFormat类

    在实际开发中,我们经常使用`SimpleDateFormat`来满足各种定制化的日期格式需求。例如,如果你需要将一个`Date`对象转换为"年月日"的格式,你可以这样做: ```java Date date = new Date(); SimpleDateFormat ...

    日期格式转换的Java实现

    `SimpleDateFormat`类详解 `SimpleDateFormat`是`DateFormat`的一个子类,它可以让我们根据自定义的模式来格式化(日期 -> 文本)、解析(文本 -> 日期)日期/时间字符串。通过提供模式字符串,我们可以指定期望的...

    Java Bug模式详解 pdf版

    9. **线程不安全的类**:书中会列举一些线程不安全的类,如SimpleDateFormat,并提供替代方案,如使用java.time包中的类。 10. **设计模式与重构**:最后,书中可能会提到一些设计模式,如单例模式、工厂模式,以及...

    常用类及方法详解.docx

    Java 常用类及方法详解 在Java编程语言中,有一些基础且常用的类和方法,对于初学者和长期未接触Java的开发者来说,熟悉这些基本元素是至关重要的。本篇文档将对其中的一些关键类,如Object、String、StringBuffer...

    Hibernate技术详解

    ### Hibernate技术详解 #### 一、Hibernate简介与特点 Hibernate是一种开源的对象关系映射(ORM)框架,用于Java持久化应用程序。它通过提供强大的映射工具和服务,将面向对象的数据模型映射到基于SQL的关系数据库...

    Date与Calendar详解

    `Date`对象本身并不提供格式化的功能,为了将日期转换为人类可读的字符串格式,需要使用`java.text.SimpleDateFormat`。例如: ```java import java.text.SimpleDateFormat; import java.util.Date; public class ...

    Java开发详解.zip

    031106_【第11章:Java常用类库】_日期操作类(DateFormat、SimpleDateFormat)笔记.pdf 031107_〖第11章:Java常用类库〗_实例操作:取得当前日期笔记.pdf 031108_【第11章:Java常用类库】_Math与Random类笔记.pdf...

    java ThreadLocal使用案例详解

    Java ThreadLocal使用案例详解 Java ThreadLocal是Java语言中的一种机制,用于为每个线程提供一个独立的变量副本,以解决多线程环境下共享变量的线程安全问题。在本文中,我们将详细介绍Java ThreadLocal的使用案例...

    Java时间类Date类和Calendar类的使用详解

    Java时间类Date类和Calendar类的使用详解 Java时间类Date类和Calendar类是Java语言中用来处理日期和时间的两个重要类。它们提供了许多有用的方法来获取和操作日期和时间。 Date类 Date类是Java语言中最基本的...

    Java日期格式化及其使用例子收集

    本文将详细介绍`SimpleDateFormat`类的基本用法及应用场景,并通过具体的示例代码帮助读者更好地理解和掌握其使用技巧。 #### 二、`SimpleDateFormat`概述 `SimpleDateFormat`是Java中的一个用于日期格式化与解析的...

    java设置日期格式

    本文将详细介绍 `SimpleDateFormat` 的使用方法及其核心功能。 #### 二、SimpleDateFormat 类简介 `SimpleDateFormat` 是一个以国别敏感的方式格式化和解析日期的类。它支持多种日期格式,并且可以根据需求自定义...

Global site tag (gtag.js) - Google Analytics