获得时间
一、时间戳(自格林威治时间1970年01月01日00时00分00秒起至现在的总毫秒数)
1.使用System.currentTimeMills()
long time = System.currentTimeMillis();
System.out.println(time);//1587561295653
2.使用Date
Date date = new Date();
long time1 = date.getTime();
long time2 = date.getTime();
注:Date.getTime()返回Date对象创建的时间,即time1=time2
而System.currentTimeMills()返回的是这句语句执行时的时间。
例证:
import java.util.Date;
public class test {
public static void main(String args[]) {
Date date = new Date();
long time1 = date.getTime();
long t1 = System.currentTimeMillis();
long sum = 0;
for(int i=0;i<=100000;i++) {
for(int j=0;j<=10;j++) {
sum+=j;
}
}
long time2 = date.getTime();
long t2 = System.currentTimeMillis();
System.out.print("Date型相减:");
System.out.println(time2-time1 + "ms");
System.out.print("System型相减:");
System.out.println(t2-t1 + "ms");
}
}
运行结果:
二、时间
1.使用Date获得
import java.text.SimpleDateFormat;
import java.util.Date;
Date date = new Date();
SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd :hh:mm:ss");
System.out.println(dateFormat.format(date));
运行结果:
2使用Calendar获得
import java.text.SimpleDateFormat;
import java.util.Calendar;
Calendar calendar= Calendar.getInstance();
SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd :hh:mm:ss");
System.out.println(dateFormat.format(calendar.getTime()));
运行结果:
3使用Calendar获得具体时间
Calendar calendar=Calendar.getInstance();
int y=calendar.get(Calendar.YEAR);
int m=calendar.get(Calendar.MONTH);
int d=calendar.get(Calendar.DATE);
int h=calendar.get(Calendar.HOUR_OF_DAY);
int mi=calendar.get(Calendar.MINUTE);
int s=calendar.get(Calendar.SECOND);
System.out.println(y+"年"+m+"月"+d+"日"+h+"时"+mi+"分"+s+"秒");
运行结果:
发现这里出现了错误 4月22日变成了3月22日
4.使用System.currentTimeMills()
long time = System.currentTimeMillis();
long all_s = time / 1000;
long s = all_s % 60;
long all_m = all_s / 60;
long m = all_m % 60;
long all_h = all_m / 60;
long h = all_h % 24;
System.out.println("总毫秒为: " + time);
System.out.println(h + ":" + m + ":" + s + " GMT");
运行结果:
注:此为格林威治时间