日期和時間

 1. 查看讀取日期

使用Data對象的toString()方法   System.out.println(new java.util.Date());
我們使用Calendar.getInstance().getTime()   獲得一個Date對象,可以使用它的 toString()   或者使用一個DateFormat對象
2. 按照指定格式打印日期和時間
使用java.text.DateFormat對象
使用缺省的DateFormat格式器 調用 DateFormat.getInstance()獲得
import java.io.*;
import java.util.*;
import java.text.*;
class javadir{
public static void main(String args[]){
Date today=new Date();
DateFormat df=DateFormat.getInstance();
System.out.println(df.format(today));
DateFormat dff=DateFormat.getDateInstance(DateFormat.FULL,Locale.CHINESE);
System.out.println(dff.format(today));
}
}
SimpleDateFormat 是DateFormat唯一的非抽象類
示例:
SimpleDateFormat sf=new SimpleDateFormat("E yyyy");
System.out.println(sf.format(today)); 
其中"E yyyy" 規定了輸出格式
y 代表年份   M 月   d 日   h AM/PM制的鐘點   H 24小時制的鐘點  m 分鐘   s 秒   S 毫秒   E 星期幾  D  一年中的第幾天 
F 某月的第幾個星期幾 W 一個月的第幾個星期  w 一年中的第幾個星期  a AM/PM標記 z 時區  ' 轉義符     " 單引號
3. 如何將年月日秒轉換爲一個Calendar Date對象
可以使用Calendar類的 set(y,m,d,h,m[,s])   月份值是以0開始的
示例:
Calendar d=Calendar.getInstance();
d.set(Calendar.YEAR,2010);
d.set(Calendar.MONTH,Calendar.APRIL);
d.set(Calendar.DAY_OF_MONTH,12);
System.out.println(df.format(d.getTime()));
4.將字符串轉換爲日期
將用戶輸入轉換爲Date Calendar對象
使用DateForamt類 的parse方法
示例:
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");
String in=args.length==0?"1912-2-22":args[0];
Date t;
try{
t.format.parse(in);
System.out.println(t);
}catch(ParseException e){
}
下面是更簡潔的方法,java.text中ParsePosition對象是用於表示和追蹤字符串中虛擬光標的位置
5. 將秒數轉換爲日期格式
使用Date的構造方法
int a=2222;  
new Date(a*1000);  這個構造方法參數是毫秒數
6. 日期的加減 運算
Date有一個getTime() 方法  它返回長整型的秒數
示例:
Date now=new Date();
long t=now.getTime();
t-=700*24*60*1000;
Date then=new Date(t);
System.out.println(then);
下面的使用Calendar的add方法,沒有對應的減法運算 只需要 加一個負號即可
示例:
calendar now=Calendar.getInstance();
SimpleDateFormat sdf=new SimpleDateFormat("E yyyy/MM/dd");
System.out.println(sdf.format(now.getTime()));
now.add(Calendar.YEAR,-1);    // Calendar.YEAR   可以更改
System.out.println(sdf.format(now.getTime()));
一個叫做roll() 的方法只在較小的範圍內改變日期
7. 計算日期之間的間隔
可以調用getTime函數然後進行  操作  最後進行格式化
8. 比較日期
如果日期表示爲Date對象,可以使用equals()  或者before ()  after()  方法進行比較,如果日期爲長整型 用基本的 大於小於既可以比較
示例:
DateFormat df=new SimpleDateFormat("yyyy-MM-dd");
Date d1=df.parse(args[0]);
Date d2=df.parse(args[1]);
String r;
if(d1.equals(d2)) 
r="same";
else if(d1.before(d2))
r="before";
else if (d1.after(d2))
r="after";
System.out.println(r);
File類就有一些方法 它們提供磁盤文件最後一次被修改的日期 
示例:
long f1=new File("t.txt").lastModified();
9. 第幾日
需要知道給定日期所在星期中或者 月 年中的第幾日
使用Calendar類中的get方法
示例:
Calendar c=Calendar.getInstance();
System.out.println(c.get(Calendar.YEAR));
System.out.println(c.get(Calendar.MONTH));
System.out.println(c.get(Calendar.DAY_OF_MONTH));
System.out.println(c.get(Calendar.DAY_OF_WEEK));
System.out.println(c.get(Calendar.DAY_OF_YEAR));
System.out.println(c.get(Calendar.DAY_OF_WEEK_IN_MONTH));
System.out.println(c.get(Calendar.HOUR));
10. 日曆頁
打印給定年月的日曆
可以使用Calendar.get() 方法。確實給定月份的第一天爲所在星期的第幾天,然後再進行格式化
String []moths={"January","February","March","April","May","June","July","August","September","October","November","December"};
public final static int dom[]={};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章