SimpleDateFormat
是一个以国别敏感的方式格式化和分析数据的具体类。 它允许格式化 (date -> text)、语法分析 (text -> date)和标准化。
SimpleDateFormat
允许以为日期-时间格式化选择任何用户指定的方式启动。 但是,希望用 DateFormat
中的 getTimeInstance
、 getDateInstance
或 getDateTimeInstance
创建一个日期-时间格式化程序。 每个类方法返回一个以缺省格式化方式初始化的日期/时间格式化程序。 可以根据需要用 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
相关推荐
在本文中,我们将深入探讨`SimpleDateFormat`的使用和相关知识点。 `SimpleDateFormat`的基本使用方法是创建一个新的实例,并通过传递一个字符串模式来设定日期和时间的格式。这个模式字符串由一系列特定的字母和...
java 日期格式化 SimpleDateFormat 的使用详解 java 中的日期格式化是通过 SimpleDateFormat 类来实现的,该类提供了灵活的日期格式化方式,通过指定日期和时间模式字符串,可以将日期和时间格式化为字符串。日期和...
需要注意的是,`SimpleDateFormat`不是线程安全的,所以在多线程环境中,如果多个线程同时使用一个`SimpleDateFormat`实例,可能会出现错误。为了避免这个问题,可以在每个线程内部创建单独的实例,或者使用`...
SimpleDateFormat 详解 SimpleDateFormat 是 Java 语言中的一种日期和时间格式化类,用于将日期和时间格式化为字符串或将字符串解析为日期和时间。它是 DateFormat 的子类,继承自 java.text.Format。 ...
Java SimpleDateFormat中英文时间格式化转换详解 本文主要为大家详细介绍了Java SimpleDateFormat中英文时间格式化转换的知识点,包括日期和时间模式的设定、SimpleDateFormat的使用、日期和时间格式的转换等。 ...
Java中SimpleDateFormat日期格式转换详解及代码示例 SimpleDateFormat是Java中处理日期格式转换的类,继承于DateFormate。它提供了多种格式定义,能够将日期类型时间转换为字符串类型时间,反之亦然。 ...
由于`SimpleDateFormat`不是线程安全的,当多个线程同时使用一个`SimpleDateFormat`实例时,可能会出现竞态条件(race condition)。例如,在线程A和线程B中,如果线程A先执行`parse()`方法,清理了`Calendar`,然后...
Java SimpleDateFormat线程安全问题原理详解 Java SimpleDateFormat线程安全问题是Java开发中一个常见的问题。SimpleDateFormat是Java中一个常用的日期时间格式化类,但是它却存在线程安全问题。在多线程环境下,...
在实际开发中,我们经常使用`SimpleDateFormat`来满足各种定制化的日期格式需求。例如,如果你需要将一个`Date`对象转换为"年月日"的格式,你可以这样做: ```java Date date = new Date(); SimpleDateFormat ...
`SimpleDateFormat`类详解 `SimpleDateFormat`是`DateFormat`的一个子类,它可以让我们根据自定义的模式来格式化(日期 -> 文本)、解析(文本 -> 日期)日期/时间字符串。通过提供模式字符串,我们可以指定期望的...
9. **线程不安全的类**:书中会列举一些线程不安全的类,如SimpleDateFormat,并提供替代方案,如使用java.time包中的类。 10. **设计模式与重构**:最后,书中可能会提到一些设计模式,如单例模式、工厂模式,以及...
Java 常用类及方法详解 在Java编程语言中,有一些基础且常用的类和方法,对于初学者和长期未接触Java的开发者来说,熟悉这些基本元素是至关重要的。本篇文档将对其中的一些关键类,如Object、String、StringBuffer...
### Hibernate技术详解 #### 一、Hibernate简介与特点 Hibernate是一种开源的对象关系映射(ORM)框架,用于Java持久化应用程序。它通过提供强大的映射工具和服务,将面向对象的数据模型映射到基于SQL的关系数据库...
`Date`对象本身并不提供格式化的功能,为了将日期转换为人类可读的字符串格式,需要使用`java.text.SimpleDateFormat`。例如: ```java import java.text.SimpleDateFormat; import java.util.Date; public class ...
Java ThreadLocal使用案例详解 Java ThreadLocal是Java语言中的一种机制,用于为每个线程提供一个独立的变量副本,以解决多线程环境下共享变量的线程安全问题。在本文中,我们将详细介绍Java ThreadLocal的使用案例...
Java时间类Date类和Calendar类的使用详解 Java时间类Date类和Calendar类是Java语言中用来处理日期和时间的两个重要类。它们提供了许多有用的方法来获取和操作日期和时间。 Date类 Date类是Java语言中最基本的...
031106_【第11章:Java常用类库】_日期操作类(DateFormat、SimpleDateFormat)笔记.pdf 031107_〖第11章:Java常用类库〗_实例操作:取得当前日期笔记.pdf 031108_【第11章:Java常用类库】_Math与Random类笔记.pdf...
本文将详细介绍`SimpleDateFormat`类的基本用法及应用场景,并通过具体的示例代码帮助读者更好地理解和掌握其使用技巧。 #### 二、`SimpleDateFormat`概述 `SimpleDateFormat`是Java中的一个用于日期格式化与解析的...
本文将详细介绍 `SimpleDateFormat` 的使用方法及其核心功能。 #### 二、SimpleDateFormat 类简介 `SimpleDateFormat` 是一个以国别敏感的方式格式化和解析日期的类。它支持多种日期格式,并且可以根据需求自定义...