以毫秒获取当前时间system.currentTimeMillis()
public class Demo8_1 {
public static void main(String[] args) {
//System.currentTimeMillis();
StopWatch watch=new StopWatch();//此时创建对象调用构造函数已经记录了时间
//System.out.println(watch.getElapsedTime());//-1544963947421,endTime默认为0
watch.stop();
watch.start();
for(int i=0;i<100000000;i++);//计算此段代码运行的时间
watch.stop();
System.out.println(watch.getElapsedTime());
}
}
class StopWatch{
private long startTime;
private long endTime;
//private long time=100000;
StopWatch(){
//startTime=System.currentTimeMillis();
start();
}
public void start(){
startTime=System.currentTimeMillis();
}
public void stop(){
endTime=System.currentTimeMillis();
//startTime=time;
}
public long getElapsedTime(){
return endTime-startTime;
}
public long getStartTime() {
return startTime;
}
public long getEndTime() {
return endTime;
}
}
public class Demo8_4 {
public static void main(String[] args) {
Time time1=new Time();
System.out.println(time1.getHour());
System.out.println(time1.getMinute());
System.out.println(time1.getSecond());
Time time2=new Time(1000000);
System.out.println(time2.getHour());
System.out.println(time2.getMinute());
System.out.println(time2.getSecond());
time2.setTime(System.currentTimeMillis());//10000+从1970年1月1日
System.out.println(time2.getHour());
System.out.println(time2.getMinute());
System.out.println(time2.getSecond());
Time time3=new Time(10,10,10);
time3.setTime(1000);//在10小时10分钟10 秒的基础上加上1000毫秒
System.out.println(time3.getHour());
System.out.println(time3.getMinute());
System.out.println(time3.getSecond());//结果应为10小时10分钟11秒
}
}
class Time{
private long hour;
private long minute;
private long second;
private long totalMillis;
Time(){//以当前时间计算小时,分钟,秒
totalMillis=System.currentTimeMillis();
format(totalMillis);
}
public Time(long millis){//从传入的毫秒值进行计算
//format(millis);X
totalMillis=millis;
format(totalMillis);
}
public Time(long hour,long minute,long second){
//以传入的小时,分钟,秒进行计算
this.hour=hour;
this.minute=minute;
this.second=second;
totalMillis=second*1000+minute*60*1000+hour*60*60*1000;
}
public void setTime(long elapseTime){
//当前时间加上传入的时间,表示总共时间,用总共时间进行计算
totalMillis=totalMillis+elapseTime;
format(totalMillis);
}
//将毫秒值转化为小时,分钟,秒
public void format(long totalMillis){
hour=totalMillis/1000/60/60;
minute=totalMillis/1000/60-hour*60;
second=totalMillis/1000-hour*60*60-minute*60;
}
public long getHour(){
return hour;
}
public long getMinute(){
return minute;
}
public long getSecond(){
return second;
}
}