93

谁能告诉我 SimpleDateFormat 类中可用的日期格式。

我已经通过 api 但找不到令人满意的答案。非常感谢任何帮助。

4

4 回答 4

162

日期和时间格式在下面有很好的描述

SimpleDateFormat (Java Platform SE 7) - 日期和时间模式

您可以n制作多种格式。ex -dd/MM/yyyy或者YYYY-'W'ww-u您可以混合和匹配字母以实现您所需的模式。图案字母如下。

  • G- 时代代号 (AD)
  • y- 年份 (1996; 96)
  • Y- 周年 (2009; 09)
  • M- 一年中的月份(7 月;7 月;07)
  • w- 一年中的一周 (27)
  • W- 每月的一周 (2)
  • D- 一年中的一天 (189)
  • d- 月中的一天 (10)
  • F- 月中的星期几 (2)
  • E- 一周中的日期名称(星期二;星期二)
  • u- 星期几(1 = 星期一,...,7 = 星期日)
  • a- 上午/下午标记
  • H- 一天中的小时(0-23)
  • k- 一天中的小时(1-24)
  • K- 上午/下午的小时(0-11)
  • h- 上午/下午的时间 (1-12)
  • m- 分钟 (30)
  • s- 分秒 (55)
  • S- 毫秒 (978)
  • z- 一般时区(太平洋标准时间;太平洋标准时间;GMT-08:00)
  • Z- RFC 822 时区 (-0800)
  • X- ISO 8601 时区(-08;-0800;-08:00)

解析:

2000-01-23T04:56:07.000+0000

利用: new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");

于 2012-10-08T11:59:13.913 回答
54

让我抛出一些我从http://www3.ntu.edu.sg/home/ehchua/programming/java/DateTimeCalendar.html获得的示例代码 然后你可以尝试不同的选项,直到你理解它。

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTest {
   public static void main(String[] args) {
       Date now = new Date();

       //This is just Date's toString method and doesn't involve SimpleDateFormat
       System.out.println("toString(): " + now);  // dow mon dd hh:mm:ss zzz yyyy
       //Shows  "Mon Oct 08 08:17:06 EDT 2012"

       SimpleDateFormat dateFormatter = new SimpleDateFormat("E, y-M-d 'at' h:m:s a z");
       System.out.println("Format 1:   " + dateFormatter.format(now));
       // Shows  "Mon, 2012-10-8 at 8:17:6 AM EDT"

       dateFormatter = new SimpleDateFormat("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
       System.out.println("Format 2:   " + dateFormatter.format(now));
       // Shows  "Mon 2012.10.08 at 08:17:06 AM EDT"

       dateFormatter = new SimpleDateFormat("EEEE, MMMM d, yyyy");
       System.out.println("Format 3:   " + dateFormatter.format(now));
       // Shows  "Monday, October 8, 2012"

       // SimpleDateFormat can be used to control the date/time display format:
       //   E (day of week): 3E or fewer (in text xxx), >3E (in full text)
       //   M (month): M (in number), MM (in number with leading zero)
       //              3M: (in text xxx), >3M: (in full text full)
       //   h (hour): h, hh (with leading zero)
       //   m (minute)
       //   s (second)
       //   a (AM/PM)
       //   H (hour in 0 to 23)
       //   z (time zone)
       //  (there may be more listed under the API - I didn't check)

   }

}

祝你好运!

于 2012-10-08T12:26:52.483 回答
9
于 2018-11-05T15:49:12.703 回答
5

检查这里的格式 http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

主要的

System.out.println("date  : " + new classname().getMyDate("2014-01-09 14:06", "dd-MMM-yyyy E hh:mm a z", "yyyy-MM-dd HH:mm"));

方法

 public String getMyDate(String myDate, String returnFormat, String myFormat)
            {
                DateFormat dateFormat = new SimpleDateFormat(returnFormat);
                Date date=null;
                String returnValue="";
                try {
                    date = new SimpleDateFormat(myFormat, Locale.ENGLISH).parse(myDate);
                    returnValue = dateFormat.format(date);
                } catch (ParseException e) {
                    returnValue= myDate;
                    System.out.println("failed");
                    e.printStackTrace();
                }

            return returnValue;
            }
于 2014-06-13T06:56:38.737 回答