`

关于SimpleDateFormat

    博客分类:
  • java
F# 
阅读更多

首先说明一下关键的参数

  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 时区

/////////////////////////////////////////////////下面是例子,以及执行结果

import java.text.*;
import java.util.Date;


public class FormatDateTime {

    public static void main(String[] args) {

       ///  打印出2006年11月17日 15时19分56秒
        SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");

       //打印  06/11/17 15:19
        SimpleDateFormat myFmt1=new SimpleDateFormat("yy/MM/dd HH:mm"); 
 
        //2006-11-17 15:19:56
       SimpleDateFormat myFmt2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
       

     //2006年11月17日 15时19分56秒 星期五
     SimpleDateFormat myFmt3=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E ");

       // 一年中的第 321 天 一年中第46个星期 一月中第3个星期 在一天中15时 CST时区
      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());// 17 Nov 2006 07:19:56 GMT
        System.out.println(now.toLocaleString());// 2006-11-17 15:19:56
        System.out.println(now.toString());// Fri Nov 17 15:19:56 CST 2006
    }   
   
}

我会经常用到它 , 比如在自定义taglib时候,可能不要一个特定格式的时间输出(当然作为属性设定方式比较好)

 

字母 日期或时间元素 表示 示例
G Era 标志符 Text AD
y Year 1996; 96
M 年中的月份 Month July; Jul; 07
w 年中的周数 Number 27
W 月份中的周数 Number 2
D 年中的天数 Number 189
d 月份中的天数 Number 10
F 月份中的星期 Number 2
E 星期中的天数 Text Tuesday; Tue
a Am/pm 标记 Text PM
H 一天中的小时数(0-23) Number 0
k 一天中的小时数(1-24) Number 24
K am/pm 中的小时数(0-11) Number 0
h am/pm 中的小时数(1-12) Number 12
m 小时中的分钟数 Number 30
s 分钟中的秒数 Number 55
S 毫秒数 Number 978
z 时区 General time zone Pacific Standard Time; PST; GMT-08:00
Z 时区 RFC 822 time zone -0800

 

 

其中的两个方法:

 Date parse(String text, ParsePosition pos)
          解析字符串的文本,生成 Date

 StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition pos)
          将给定的 Date 格式化为日期/时间字符串,并将结果添加到给定的 StringBuffer

 

分享到:
评论

相关推荐

    关于SimpleDateFormat的非线程安全问题及其解决方案.docx

    ### 关于SimpleDateFormat的非线程安全问题及其解决方案 #### 一、问题介绍 在Java开发过程中,`SimpleDateFormat`是被广泛使用的日期格式化工具类。然而,在多线程环境下,`SimpleDateFormat`存在非线程安全的...

    JavaScript实现的SimpleDateFormat

    在JavaScript中,没有内置的`SimpleDateFormat`类,它是一个Java中的类,用于日期和时间的格式化。然而,由于JavaScript在处理日期时的功能相对有限,开发者常常需要自定义函数或者使用第三方库来实现类似的功能。这...

    有关SimpleDateFormat的常用方法说明

    ### SimpleDateFormat的常用方法说明 #### 一、简介 `SimpleDateFormat`是Java中用于格式化日期和时间的一个类。...以上就是关于`SimpleDateFormat`的一些常见用法和注意事项,希望对您有所帮助。

    SimpleDateFormat使用详解

    SimpleDateFormat 使用详解 SimpleDateFormat 是 Java 中的一个日期和时间格式化类,它继承自 DateFormat 类。SimpleDateFormat 允许用户以各种方式格式化日期和时间,例如以年、月、日、时、分、秒等不同的格式来...

    java SimpleDateFormat &Calendar

    在Java编程语言中,`SimpleDateFormat`和`Calendar`是两个重要的日期和时间处理类,它们在处理日期格式化、解析以及日期计算方面扮演着重要角色。本文将深入探讨这两个类的功能、用法以及它们之间的关系。 `...

    高并发之-SimpleDateFormat类的线程安全问题和解决方案.docx

    SimpleDateFormat类的线程安全问题和解决方案 SimpleDateFormat类的线程安全问题 SimpleDateFormat类是Java提供的日期时间转化类,用于将日期和时间类型的数据进行解析和格式化。在Java开发中,SimpleDateFormat类...

    由浅入深解析 SimpleDateFormat

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

    java SimpleDateFormat 显示于系统时间不符

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); date.setTime(time); System.out.println(sdf.format(date)); 发现时间于想要的时间不符,请运行Time.reg文件

    深入理解Java:SimpleDateFormat安全的时间格式化

    "深入理解Java:SimpleDateFormat安全的时间格式化" 在Java中,SimpleDateFormat是一个非常常用的类,用来对日期字符串进行解析和格式化输出。但是,如果使用不小心会导致非常微妙和难以调试的问题,因为DateFormat...

    simpleDateFormat是线程不安全的

    在Java编程语言中,`SimpleDateFormat`类是一个广泛使用的日期时间格式化工具,但它的线程安全性是一个常常被开发者忽视的问题。标题指出的"simpleDateFormat是线程不安全的",意味着在多线程环境下,如果多个线程...

    java 使用SimpleDateFormat类获取系统的当前时间

    在Java编程语言中,`SimpleDateFormat` 是一个非常重要的日期和时间格式化工具类,它允许程序员以特定的模式来解析和格式化日期。当我们需要从系统获取当前时间并按照自定义格式显示时,`SimpleDateFormat` 就派上了...

    SimpleDateFormat格式化日期

    日期操作。。。基础的SimpleDateFormat格式化日期!!操作!》初级学习代码

    ThreadLocal:如何优雅的解决SimpleDateFormat多线程安全问题

    目录SimpleDateFormat诡异bug复现SimpleDateFormat诡异bug字符串日期转Date日期(parse)Date日期转String类型(format)SimpleDateFormat出现bug的原因如何解决SimpleDateFormat多线程安全问题局部变量使用...

    创建SimpleDateFormat对象,确定日期被格式化的格式.txt

    1.创建SimpleDateFormat对象,确定日期被格式化的格式 2.使用循环,在循环中调用Thread的sleep方法,让线程休眠1s后打印当前时间的字符串

    SimpleDateFormat线程不安全的5种解决方案.docx

    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("mm:ss"); // 创建时间对象 Date date = new Date(finalI * 1000); // 执行时间格式化并打印结果 System.out.println(simpleDateFormat.format(date...

    日期操作类(DateFormat、SimpleDateFormat)

    NULL 博文链接:https://chaoyi.iteye.com/blog/2082317

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

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

    Java 实例 - 格式化时间SimpleDateFormat使用源代码-详细教程.zip

    以下是关于`SimpleDateFormat`的一些核心知识点: 1. **类介绍**: `SimpleDateFormat`是`java.text.SimpleDateFormat`类的一个实例,它实现了`Format`接口,用于日期和时间的格式化与解析。这个类提供了灵活的...

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

    JAVA 使用 SimpleDateFormat 类表示时间代码实例 JAVA 中的日期和时间处理是非常重要的,特别是在程序开发中,经常需要处理日期和时间的相关数据。在 JAVA 中,我们可以使用 java.util 包中的 Date 类来获取当前...

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

    在Java编程中,`SimpleDateFormat`是一个常用的日期时间格式化工具类,但它的设计并不是线程安全的。本文将深入探讨`SimpleDateFormat`的线程安全问题及其解决方案。 ### 1. 线程安全问题的原因 `SimpleDateFormat...

Global site tag (gtag.js) - Google Analytics