1. 程式人生 > >Java/Android 日期格式SimpleDateFormat轉換,以及Date和Calendar的使用

Java/Android 日期格式SimpleDateFormat轉換,以及Date和Calendar的使用

獲取時間、日期的兩種方式:

Date  \ Calendar

一、使用Date

1、配合SimpleDateFormat進行轉換。

例如。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-M-d");
yy/MM/dd HH:mm:ss     :  2002/1/1 17:55:00 (24小時制)
yy/MM/dd HH:mm:ss pm  :  2002/1/1 17:55:00 pm (12小時制)
yy-MM-dd HH:mm:ss     :  2002-1-1 17:55:00 (24小時制)
yy-MM-dd HH:mm:ss am  :  2002-1-1 17:55:00 am (12小時制)

2、Date 格式轉換為字串格式

SimpleDateFormat formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
String today = formatter.format(new Date());

3、字串轉 Date 格式

例如。 2002-10-8 15:30:22 要把它轉成Date日期,程式碼如下:
 Date date=formatter.parse("2002-10-8 15:30:22");

4、Date得到年、月、日、星期、小時

public static String getYear(){
    SimpleDateFormat formatter;
    formatter = new SimpleDateFormat ("yyyy");
    String ctime = formatter.format(new Date());
    return ctime;
} 

public static String getMonth(){
    SimpleDateFormat formatter;
    formatter = new SimpleDateFormat ("M");
    String ctime = formatter.format(new Date());
    return ctime;
} 

public static String getWeek(){
    SimpleDateFormat formatter;
    formatter = new SimpleDateFormat ("E");
    String ctime = formatter.format(new Date());
    return ctime;
} 

public static String getDay(){
    SimpleDateFormat formatter;
    formatter = new SimpleDateFormat ("d");
    String ctime = formatter.format(new Date());
    return ctime;
} 

public static String getHour(){
    SimpleDateFormat formatter;
    formatter = new SimpleDateFormat ("H");
    String ctime = formatter.format(new Date());
    return ctime;
} 

二、Calendar日曆用法


1、獲取例項物件

Calendar c = Calendar.getInstance();
2、得到年、月、日、星期、小時

mYear = c.get(Calendar.YEAR); // 獲取當前年份
mMonth = c.get(Calendar.MONTH) + 1;// 獲取當前月份
mDay = c.get(Calendar.DAY_OF_MONTH);// 獲取當日期
mWay = c.get(Calendar.DAY_OF_WEEK);// 獲取當前日期的星期
mHour = c.get(Calendar.HOUR_OF_DAY);//獲取當前時
mMinute = c.get(Calendar.MINUTE);//獲取當前分

3、指定某年、某月,獲取1號是星期幾 

public int getWeekdayOfMonth( int mYear, int mMonth){
    Calendar cal=Calendar.getInstance();
    cal.set(mYear,mMonth,1);
    return cal.get(Calendar.DAY_OF_WEEK)-1;(0-6 日-六)
}

注意。英以0-6表示週日到週六。