現在の日付を取得(クラスとして定義)


開発では常に日付を取得する必要があり、日付を取得するたびにコードが重複するため、重複するコードである以上、繰り返し呼び出しを容易にするためにクラスとして定義することができますが、操作時には特に注意が必要です.
月が9月になる場合は09と表示されるはずですが、09であれば0という数字は無視されるに違いありません.
1.Calendar類操作(取得日時、中国語の日時、タイムスタンプ)
取り出し日に加えて、タイムスタンプを取得するのも一般的な操作です.たとえば、次の日付です.
2009-01-16 11:25:34.953
タイムスタンプ:2009011612534953
import java.util.* ;	//         
class DateTime{		//                  
	private Calendar calendar = null ;		//     Calendar  ,    
	public DateTime(){						//             
		this.calendar = new GregorianCalendar() ;	
	}
	public String getDate(){		//         :   :yyyy-MM-dd HH:mm:ss.SSS
		//              ,    StringBuffer    
		StringBuffer buf = new StringBuffer() ;
		buf.append(calendar.get(Calendar.YEAR)).append("-") ;	//    
		buf.append(this.addZero(calendar.get(Calendar.MONTH)+1,2)).append("-") ;	//    
		buf.append(this.addZero(calendar.get(Calendar.DAY_OF_MONTH),2)).append(" ") ;	//    
		buf.append(this.addZero(calendar.get(Calendar.HOUR_OF_DAY),2)).append(":") ;	//    
		buf.append(this.addZero(calendar.get(Calendar.MINUTE),2)).append(":") ;
		buf.append(this.addZero(calendar.get(Calendar.SECOND),2)).append(".") ;
		buf.append(this.addZero(calendar.get(Calendar.MILLISECOND),3)) ;
		return buf.toString() ;
	}
	public String getDateComplete(){		//         :   :yyyy MM dd  HH mm ss SSS  
		//              ,    StringBuffer    
		StringBuffer buf = new StringBuffer() ;
		buf.append(calendar.get(Calendar.YEAR)).append(" ") ;	//    
		buf.append(this.addZero(calendar.get(Calendar.MONTH)+1,2)).append(" ") ;	//    
		buf.append(this.addZero(calendar.get(Calendar.DAY_OF_MONTH),2)).append(" ") ;	//    
		buf.append(this.addZero(calendar.get(Calendar.HOUR_OF_DAY),2)).append(" ") ;	//    
		buf.append(this.addZero(calendar.get(Calendar.MINUTE),2)).append(" ") ;		//    
		buf.append(this.addZero(calendar.get(Calendar.SECOND),2)).append(" ") ;		//    
		buf.append(this.addZero(calendar.get(Calendar.MILLISECOND),3)).append("  ") ;	 //     
		return buf.toString() ;
	}
	public String getTimeStamp(){		//          
		//              ,    StringBuffer    
		StringBuffer buf = new StringBuffer() ;
		buf.append(calendar.get(Calendar.YEAR)) ;	//    
		buf.append(this.addZero(calendar.get(Calendar.MONTH)+1,2)) ;	//    
		buf.append(this.addZero(calendar.get(Calendar.DAY_OF_MONTH),2)) ;	//    
		buf.append(this.addZero(calendar.get(Calendar.HOUR_OF_DAY),2)) ;	//    
		buf.append(this.addZero(calendar.get(Calendar.MINUTE),2)) ;		//    
		buf.append(this.addZero(calendar.get(Calendar.SECOND),2));		//    
		buf.append(this.addZero(calendar.get(Calendar.MILLISECOND),3)) ;	 //     
		return buf.toString() ;
	}
	//           0,            
	private String addZero(int num,int len){
		StringBuffer s = new StringBuffer() ;
		s.append(num) ;
		while(s.length()

2.SimpleDateクラスベースの操作
JAva.util.Dateはすでに完全な日付であり、SimpleDateFormatクラスにはDateに対して再フォーマットできる方法があり、現在の日付を表すdateオブジェクトをSimpleDateFormatクラスで指定したテンプレートで関連するフォーマット化操作を行うと、取得時間が非常に便利になります.
import java.util.* ;	//         
import java.text.* ;	//   SimpleDateFormat    
class DateTime{		//                  
	private SimpleDateFormat sdf = null ;	//   SimpleDateFormat  
	public String getDate(){		//         :   :yyyy-MM-dd HH:mm:ss.SSS
		this.sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS") ;
		return this.sdf.format(new Date()) ;//             
	}
	public String getDateComplete(){		//         :   :yyyy MM dd  HH mm ss SSS  
		this.sdf = new SimpleDateFormat("yyyy MM dd HH mm ss SSS  ") ;
		return this.sdf.format(new Date()) ;//             
	}
	public String getTimeStamp(){		//          
		this.sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS") ;
		return this.sdf.format(new Date()) ;//             
	}
};
public class DateDemo07{
	public static void main(String args[]){
		DateTime dt = new DateTime() ;
		System.out.println("    :"+dt.getDate()) ;
		System.out.println("    :"+dt.getDateComplete()) ;
		System.out.println("   :"+dt.getTimeStamp()) ;
	}
};

まとめ:
コードにより,SimpleDateFormatクラスを直接使用する方がCalendarクラスを使用するよりも取得時間が便利であり,ゼロ補正操作を増やす必要がないことが分かるので,開発において1つの日付を取得する必要がある場合は,基本的にSimpleDateFormatクラスを使用して操作することであり,以上の操作コードは取得日の簡単な方法である.