一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - JAVA教程 - java日期相關類實例詳解

java日期相關類實例詳解

2021-01-27 10:54FlyingZCC JAVA教程

這篇文章主要介紹了java日期相關類實例詳解,小編覺得還是挺不錯的,這里分享給大家,供需要的朋友參考。

一、Date類

類 Date 表示特定的瞬間,精確到毫秒。用距離1970年1月1日00:00:00的毫秒數(long)類型來表示一個特定的時間點,該值可正可負。

Date類中很多方法已經過時,使用Calendar來替代。

常用方法有

long getTime()
void setTime(long time)

java" id="highlighter_654069">
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class T01Date {
  public static void main(String[] args) {
    //getTime():返回的時間是距離1970年的毫秒數.值不受setTime()的影響
    //date值受setTime()的影響
    Date date=new Date();
    long current=date.getTime();
    System.out.println(current);//1472002479966
    System.out.println(date);//Wed Aug 24 09:34:39 CST 2016
    long time=current+1000*60*60*24;//時間設置為明日此時
    date.setTime(time);
    System.out.println(date.getTime());//1472002479966
    System.out.println(current);//1472002479966
    System.out.println(date);// Thu Aug 25 09:34:39 CST 2016
  }
}

二、SimpleDateFormat

SimpleDateFormat根據特定的日期格式在Date和字符串之間轉換

常用方法

String format(Date date):將日期按照指定格式轉換成字符串
Date parse(String str):將字符串按照指定格式轉換成Date

可以用來指定格式的字符

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
 * java.text.SimpleDateFormat
 * 該類可以根據一個指定的日期格式將Date于String
 * 之間相互轉換
 * @author zc
 *
 */
public class T02SimpleDateFormat {
  public static void main(String[] args) throws ParseException {
    Date now =new Date();
    //2016-08-12 09:55:23
    //yyyy-MM-dd hh:ss:mm
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 hh時ss分mm秒");
    String str = sdf.format(now);
    System.out.println(str);
    //a 居然能區分上下午漢字
    String strDate="2012年12月20日下午12點20分30秒";
    SimpleDateFormat sdf2=new SimpleDateFormat("yyyy年MM月dd日ahh點ss分mm秒");
    Date date=sdf2.parse(strDate);
    System.out.println(date);
  }
}

三、Calendar

java.util.Calendar是抽象類,主要用來對時間分量進行計算。

常用方法

(1)Date和Calendar之間的轉換

?
1
2
3
4
5
6
7
8
9
10
11
12
13
  //默認創建出來的Calendar的實現類表示當前系統時間
    Calendar c=Calendar.getInstance();
    //將Calendar轉換為Date
    Date date=c.getTime();
    //Date->Calendar
    /*
     * void setTime(Date date)
     * 該方法可以使當前Calendar表示給定的
     * Date所表示的時間
     * */
    c.setTime(date);
  }
}

(2)getInstance()方法

Calendar是抽象類,其提供了一個工廠方法:Calendar getInstance()用來獲取Calendar類型的實例

(3)get(int field)方法獲取時間分量

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import java.util.Calendar;
/**
 * Calendar提供了獲取各個時間分量的值的方法
 * @author zc
 */
public class T05Calendar2 {
  public static void main(String[] args) {
    Calendar c=Calendar.getInstance();
    //獲取年
    int year=c.get(Calendar.YEAR);
    System.out.println("year:"+year);//2016
    //獲取月:月從0開始!!!,0表示一月
    int month=c.get(Calendar.MONTH);
    System.out.println("month:"+month);//7
    /*
     * 和天相關的時間分量
     * DATE,DAY_OF_MONTH:是一致的,表示月中的第幾天
     * DAY_OF_YEAR:表示年中的天
     * DAY_OF_WEEK:表示周中的天
     *
     * */
    System.out.println(c.get(Calendar.DATE));
    System.out.println(c.get(Calendar.DAY_OF_MONTH));
    System.out.println(c.get(Calendar.DAY_OF_YEAR));
    System.out.println(c.get(Calendar.DAY_OF_WEEK));
    int dow=c.get(Calendar.DAY_OF_WEEK)-1;
    String[] data={"日","一","二","三","四","五","六"};
    System.out.println("周"+data[dow]);
    //獲取小時,分鐘,秒   HOUR_OF_DAY:24小時  HOUR:12小時 
    System.out.println(c.get(Calendar.HOUR_OF_DAY));//14
    System.out.println(c.get(Calendar.HOUR));//2
    System.out.println(c.get(Calendar.MINUTE));
    System.out.println(c.get(Calendar.SECOND));
  }
}

(4)set()方法設置時間分量

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/**
 * 設置時間分量
 * @author zc
 *
 */
public class T06Calendar3 {
  public static void main(String[] args){
    //表示2008-08-08 20:08:08
    //設置年
    Calendar c=Calendar.getInstance();
    c.set(Calendar.YEAR,2008);
    //設置月,月從0開始
    c.set(Calendar.MONTH,Calendar.AUGUST);
    //設置日
    c.set(Calendar.DATE, 8);
    //設置時
    c.set(Calendar.HOUR_OF_DAY,20);
    //設置分
    c.set(Calendar.SECOND,8);
    //設置秒
    c.set(Calendar.MINUTE,8);
    System.out.println(c.getTime());
    //!!!設置的時間分量超出后,會自行進位
  }
}

(5)add()方法在當前時間分量基礎上修改時間分量

(6)getActualMaximum()獲取某個時間分量所允許的最大值

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/**
 * 獲取某個時間分量所允許的最大值
 * @author zc
 */
public class T07Calendar4 {
  public static void main(String[] args) {
    Calendar c=Calendar.getInstance();
    //查看當月共多少天
    int days=c.getActualMaximum(Calendar.DAY_OF_MONTH);
    System.out.println(days);
    //查看今年多少天
    int doy=c.getActualMaximum(Calendar.DAY_OF_YEAR);
    System.out.println(doy);
    int t=c.getActualMaximum(Calendar.MINUTE);
    System.out.println(t);
  }
}

四、Date、SimpleDateFormat和Calendar的一個綜合實例

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@Test
  public void test01() throws ParseException{
    //要求用戶輸入一個日期,計算后,指定格式輸出日期
    /*String--SimpleDateFormat()-->Date
    Date-->Calendar
    使用Calendar進行相應計算
    Calendar-->Date
    Date--SimpleDateFormat-->String
    */
    String input="2013-03-26";
     
    SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
    Date date=sdf.parse(input);
    Calendar c=Calendar.getInstance();
    //set(),與add()
    c.setTime(date);
    c.add(Calendar.YEAR,1);
    c.set(Calendar.MONTH,0);
    c.set(Calendar.DAY_OF_WEEK,1);
     
    date=c.getTime();
    SimpleDateFormat sdf2=new SimpleDateFormat("yyyy年MM月dd分hh時ss分mm秒");
    String strTime=sdf2.format(date);
    System.out.println(strTime);
  }

總結

以上就是本文關于java日期相關類實例詳解的全部內容,希望對大家有所幫助。如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

原文鏈接:http://blog.csdn.net/kaishizhangcheng/article/details/52416262

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品一区二区三区自拍图片区 | 国产在线精品观看 | 国产成人亚洲综合a∨婷婷 国产成人亚洲精品乱码在线观看 | 色99视频| 动漫美女羞羞 | 亚洲六月丁香六月婷婷蜜芽 | 513热点网深夜影院影院诶 | 97蜜桃网 | 欧美久久一区二区三区 | 无码日韩精品一区二区免费 | 男人搡女人视频免费看 | 国产一及毛片 | 亚州春色 | 缴情五月天 | 国产成人h综合亚洲欧美在线 | 青青草精品在线观看 | 色综合亚洲精品激情狠狠 | freexxxxxhd张柏芝 | 亚洲福利一区二区精品秒拍 | 骚虎网站在线观看 | 久久国产乱子伦精品免费不卡 | 天天综合网天天做天天受 | 日韩在线一区二区三区免费视频 | 啪一啪在线视频 | 2019aw网站| 夫妇野外交换激情 | 美女精品永久福利在线 | 国产精品思瑞在线观看 | 久久婷婷五月综合色精品首页 | 久久99热狠狠色一区二区 | 美女扒开腿让男人桶爽动态图片 | 超级毛片| 国产这里有精品 | 国产东北3p真实在线456视频 | 国产盗摄女厕美女嘘嘘 | 拍拍叫痛的无挡视频免费 | 五月最新商场女厕所高跟嘘嘘 | 扒开放荡老师裙子猛烈的进入 | 日韩在线观看网址 | 色姑娘久久 | 狠狠草视频 |