以下给出三种读取系统时间的方法,并且可以看出, 方法三的效率最高 。
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
/**
* 读取当前系统时间
*/
public class ReadSystemTime {
public static void main(String[] args) {
//getTime_1();
//getTime_2();
getTime_3();
}
/**
* 方法1
*/
public static void getTime_1(){
//此处字符串的格式可以修改
long begin = System.currentTimeMillis();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date currentTime = new Date();//得到当前系统时间
String timeStr_1 = formatter.format(currentTime); //将日期时间格式化
long end = System.currentTimeMillis();
System.out.println("[1] " + timeStr_1 + " cost:" + (end - begin) + "ms");
//输出:[1] 2009-08-20 21:24:45 cost:47ms
}
/**
* 方法2
*/
public static void getTime_2(){
long begin = System.currentTimeMillis();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String timeStr_2 = formatter.format(System.currentTimeMillis());
long end = System.currentTimeMillis();
System.out.println("[2] " + timeStr_2
+ " cost:" + (end - begin) + "ms");
//输出:[2] 2009/08/20 21:26:58 cost:46ms
}
/**
* 方法3
*/
public static void getTime_3(){
long begin = System.currentTimeMillis();
Calendar todaysDate = new GregorianCalendar();
int year = todaysDate.get(Calendar.YEAR);
int month = todaysDate.get(Calendar.MONTH) + 1;
int day = todaysDate.get(Calendar.DAY_OF_MONTH);
int hourOfDay = todaysDate.get(Calendar.HOUR_OF_DAY);//24小时制
//int hour = todaysDate.get(Calendar.HOUR); //12小时制
int minute = todaysDate.get(Calendar.MINUTE);
int second = todaysDate.get(Calendar.SECOND);
long end = System.currentTimeMillis();
System.out.println("[3] " + year + "." + month + "." + day
+ " " + hourOfDay + ":" + minute + ":" + second
+ " cost:" + (end - begin) + "ms");
//输出:[3] 2009.8.20 21:26:39 cost:32ms
}
}
(完)
create@2009-08-18