---------------------- android培訓、java培訓、期待與您交流! ----------------------
Calendar類
常用方法:
static Calendar getInstance() 獲得日曆
public int get(int filed) 返回給定字段的日期值
public void set(int field,int value)將給定的日曆字段設置爲給定值。
實例1:獲取當前時間
package org.fm.test; import java.util.Calendar; import java.util.GregorianCalendar; public class Demo { public static void main(String[] args) throws Exception { Calendar calendar = new GregorianCalendar(); System.out.println("年: " + calendar.get(Calendar.YEAR)); System.out.println("月: " + calendar.get(Calendar.MONTH)+1); System.out.println("日: " + calendar.get(Calendar.DAY_OF_MONTH)); System.out.println("時: " + calendar.get(Calendar.HOUR_OF_DAY)); System.out.println("分: " + calendar.get(Calendar.MINUTE)); System.out.println("秒: " + calendar.get(Calendar.SECOND)); System.out.println("毫秒: " +calendar.get(Calendar.MILLISECOND)); } } |
語句解釋:
· Calendar類在java.util包中。是一個抽象類。 使用其子類進行實例化即可。 · 使用get()方法獲得指定的時間部分。 · 月份是從0開始計算的 因此在其後面加1。 |
實例2:查表法:
package org.fm.test; import java.util.Calendar; import java.util.GregorianCalendar; public class Demo { public static void main(String[] args) throws Exception { String[] month = {"一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"}; Calendar c = new GregorianCalendar(); int index = c.get(Calendar.MONTH); String[] week = { "","星期日","星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}; int index = c.get(Calendar.MONTH); int index2 = c.get(Calendar.DAY_OF_WEEK); System.out.println(c.get(Calendar.YEAR)+"年"); System.out.println(month[index]); System.out.println(c.get(Calendar.DAY_OF_MONTH)+"日"); System.out.println(week[index2]); } } |
語句解釋:
· 月份是從0開始計算的 因此在其後面加1。 從0~11對應的是一到十二月,可以使用查表法查找數字對應的大寫月份。 |
SimpleDateFormat類
類結構:
java.lang.Object java.text.Format java.text.DateFormat java.text.SimpleDateFormat |
範例1:將給定日期對象轉換成String類型。
package org.fm.test; import java.text.SimpleDateFormat; import java.util.Date; public class Demo { public static void main(String[] args) throws Exception { SimpleDateFormat simple = new SimpleDateFormat("yyyy年MM月dd日HH時mm分ss秒SSS毫秒"); System.out.println(simple.format(new Date())); } } |
語句解釋:
· 在SimpleDateFormat類構造對象的時候 指定格式化後的日期格式。 · 使用format()將Date對象格式化成 剛纔指定的格式。 |
日期格式代號:
No. |
日期 |
模板標記 |
長度 |
描述 |
1 |
年 |
y |
4 |
在操作的時候要使用 yyyy 來表示年份 |
2 |
月 |
M |
2 |
使用MM表示月份 |
3 |
日 |
d |
2 |
使用dd表示日期 |
4 |
時 |
H |
2 |
0~23的範圍,使用HH表示時 |
5 |
分 |
m |
2 |
mm表示分 |
6 |
秒 |
s |
2 |
ss表示秒 |
7 |
毫秒 |
S |
3 |
SSS表示毫秒 |
範例2:將給定String類型日期轉換成日期對象。
package org.fm.demo; import java.text.SimpleDateFormat; import java.util.Date; public class Demo { public static void main(String[] args) throws Exception { SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = simple.parse("2010-1-1 21:21:12.724"); System.out.println(date); } } |
語句解釋:
· 在SimpleDateFormat類構造對象的時候,指定要解析的日期所使用的格式。 · 使用parse()方法 可以將一個字符串轉換成一個Date類型的對象。 |
時間戳:
假設有一個時間: 2010-1-1 21:21:12.724 則它的時間戳就是:201011212112724 |
練習:
1、 獲取任意年的二月份有多少天
package org.fm.test; import java.util.Calendar; public class CalendarDemo {
public static void getDays(int year){ Calendar c = Calendar.getInstance(); //獲得Calendar類的實例 c.set(year,2,1); //設置時間爲某年的 3月1日 c.add(c.DAY_OF_MONTH,-1); //減去時間量,3月1日的前一天就是二月的最後一天 printCalendar(c); } public static void printCalendar(Calendar c){ String[] month = {"一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"}; String[] week = { "","星期日","星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}; int index = c.get(Calendar.MONTH); int index2 = c.get(Calendar.DAY_OF_WEEK); System.out.println(c.get(Calendar.YEAR)+"年"); System.out.println(month[index]); System.out.println(c.get(Calendar.DAY_OF_MONTH)+"日"); System.out.println(week[index2]); } public static void main(String[] args) { getDays(2000); } } |
2、 獲取昨天的現在這個時刻
c.add(Calendar.DAY_OF_MONTH,-1); |
Math類
· Math類在java.lang包中 其內的所有方法和字段都是靜態的。 · 因此可以使用import static來導入。使用的時候不用在加類名.方法名或類名.變量名。 |
範例1:常用數學函數。
package org.fm.test; import static java.lang.Math.*; public class Demo { public static void main(String[] args) throws Exception { System.out.println("E = " + E) ; System.out.println("PI = " + PI) ; System.out.println("max(2,3) = " + max(2,3)) ;//計算最大數 System.out.println("min(5,4.3) = " + min(5,4.3)) ; System.out.println("pow(2,4) = " + pow(2,4)) ;//計算 24 System.out.println("abs(-44)" + abs(-44)) ; // 計算絕對值 System.out.println("round(83.652)" + round(83.652)) ;//四捨五入 System.out.println("ceil(12.23)=" + ceil(12.23)) ; // 返回大於指定數據的最小整數 System.out.println("floor(21.23)=" + floor(21.23)) ; // 返回小於指定數據的最大整數 } } |
Random類
· Random類在java.util包中。 · 此類用於產生一個隨機數。 |
範例1:隨機數。
package org.fm.test; import java.util.Random; public class Demo { public static void main(String[] args) throws Exception { Random r = new Random(); System.out.println("隨機一個int數:"+r.nextInt()); System.out.println("隨機一個long數:"+r.nextLong()); System.out.println("隨機一個double數:"+r.nextDouble()); System.out.println("隨機一個float數:"+r.nextFloat()); System.out.println("隨機一個boolean數:"+r.nextBoolean()); for (int i = 0; i < 10; i++) System.out.print(r.nextInt(100) + "、");//隨機0~100(不包括)間的數。 } } |
---------------------- android培訓、java培訓、期待與您交流! ----------------------