Java日期處理

來源:互聯網
上載者:User

標籤:日本   java   時區   目前時間   .com   輸出   []   nbsp   注意   

一、相關類

1、Date: 
  Date表示特定的瞬間,精確到毫秒,Date中的相應方法已廢棄,從JDK 1.1開始,應該使用Calendar類實現日期和時間欄位之間轉換。 
2、DateFormat: 
  DateFormat是日期/時間格式化子類的抽象類別,格式化並解析日期或時間,可以進行日期 -> 文本 ,文本-> 日期的轉換。子類SimpleDateFormat。 
3、Calendar: 
  Calendar是日曆抽象類別,可通過其擷取日期時間。推薦使用。

package datetext;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class Text {    public static void main(String[] args) {        Date d = new Date();        System.out.println(d);//第一種表示方法,Sat Jul 22 20:18:10 CST 2017        System.out.println("----------------------");                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        System.out.println(sdf.format(d));//第二種表示方法,2017-07-22 20:18:10|SimpleDateFormat的用法        System.out.println("----------------------");
//老方法,慢慢的被淘汰 System.out.println(d.getTime()); System.out.println(d.getYear()); System.out.println(d.getMonth()+1); System.out.println(d.getDate()); System.out.println(d.getHours()); System.out.println(d.getMinutes()); System.out.println(d.getSeconds()); System.out.println("----------------------"); //新方法,用Calendar Calendar c = Calendar.getInstance(); //Calendar.getInstance() 使用預設時區和語言環境獲得一個日曆。 System.out.println(c.get(Calendar.YEAR)); System.out.println(c.get(Calendar.MONTH)+1);//注意:月份需要+1表示當前月 System.out.println(c.get(Calendar.DATE)); System.out.println(c.get(Calendar.HOUR)); System.out.println(c.get(Calendar.MINUTE)); System.out.println(c.get(Calendar.SECOND)); System.out.println("----------------------"); //SimpleDateFormat Date d2 = new Date(); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(sdf2.format(d2)); Calendar c2 =Calendar.getInstance(); Date d_cal = c2.getTime(); System.out.println(sdf2.format(d_cal)); }}

二、SimpleDateFormat

 

SimpleDateFormat 是一個以與語言環境相關的方式來格式化和分析日期的具體類。它允許進行格式化(日期 -> 文本)、分析(文本 -> 日期)和正常化。

 

SimpleDateFormat 使得可以選擇任何使用者定義的日期-時間格式的模式。但是,仍然建議通過 DateFormat 中的 getTimeInstance、getDateInstance 或 getDateTimeInstance 來新的建立日期-時間格式化程式。

1、日期和時間模式

2、例子:給定的日期和時間為美國太平洋時區的本地時間 2001-07-04 12:08:56

 

三、表示國際時間(用Calendar)
package datetext;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.TimeZone;public class Text {    public static void main(String[] args) {        Date d = new Date();        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        System.out.println(sdf.format(d));        System.out.println("----------------------");                /*String[] ids = TimeZone.getAvailableIDs();                for(int i=0;i<ids.length;i++){            System.out.println(ids[i]);//輸出所有地區的ID        }*/                //以日本為例        Calendar c = Calendar.getInstance(TimeZone.getTimeZone("Japan"));  //getTimeZone(),獲得時區        System.out.println(c.get(Calendar.HOUR));  //12小時制        System.out.println(c.get(Calendar.HOUR_OF_DAY));  //24小時制    }}

 

四、把長整型數設定成一個特定的時間點:
package datetext;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class Text {    public static void main(String[] args) {        Date d = new Date();        //getTime(),返回一個表示此 Calendar 時間值(從曆元至現在的毫秒位移量)的 Date 對象。        System.out.println(d.getTime());//輸出值為:1500733409509                Calendar c = Calendar.getInstance();        c.setTimeInMillis(1500733409509l);//setTimeInMillis(long millis),                                          //用給定的 long 值設定此 Calendar 的目前時間值。                Date dd = c.getTime();        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        System.out.println(sdf.format(dd)); //輸出值為 2017-07-22 22:23:29    }}
五、Timestamp(時間戳記,可以精確到毫秒)
package datetext;import java.sql.Timestamp;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;public class Text {    public static void main(String[] args) {        Date d = new Date();                System.out.println(d.getTime());//輸出值為:1500733409509                Calendar c = Calendar.getInstance();        c.setTimeInMillis(1500733409509l);                Date dd = c.getTime();        Timestamp ts = new Timestamp(1500733409509l);        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS");        System.out.println(sdf.format(ts)); //輸出值為 2017-07-22 22:23:29:509    }}

 

Java日期處理

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.