Java中的系统时间

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java中的系统时间
currentTimeMillis()
System.currentTimeMillis返回的是从1970.1.1 UTC 零点开始到现在的时间,精确到毫秒,平时我们可以根据System.currentTimeMillis来计算当前⽇期,星期⼏等,可以⽅便的与Date进⾏转换
返回以毫秒为单位的当前时间。

注意,当返回值的时间单位是毫秒时,值的粒度取决于底层操作系统,并且粒度可能更⼤。

例如,许多操作系统以⼏⼗毫秒为单位测量时间。

请参阅 Date 类的描述,了解可能发⽣在“计算机时间”和协调世界时(UTC)之间的细微差异的讨论。

nanoTime()
System.nanoTime提供相对精确的计时,但是不能⽤他来计算当前⽇期
返回最准确的可⽤系统计时器的当前值,以毫微秒为单位。

此⽅法只能⽤于测量已过的时间,与系统或钟表时间的其他任何时间概念⽆关。

返回值表⽰从某⼀固定但任意的时间算起的毫微秒数(或许从以后算起,所以该值可能为负)。

此⽅法提供毫微秒的精度,但不是必要的毫微秒的准确度。

它对于值的更改频率没有作出保证。

在取值范围⼤于约 292 年(263 毫微秒)的连续调⽤的不同点在于:由于数字溢出,将⽆法准确计算已过的时间
JDK中有⼀个final class System
其中提供了⼀些输⼊输出等⽅法,并且有毫秒级的系统时间和毫微秒的nanotime
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class SysTime {
public static void main(String[] args) {
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String strsystime = sf.format(System.currentTimeMillis());//系统当前时间
String strsysnanotime = sf.format(System.nanoTime());//系统当前时间
System.out.println(strsystime);
System.out.println(strsysnanotime);
long systime = System.currentTimeMillis();
System.out.println(Calendar.getInstance().getTime().getTime());
System.out.println(systime);
System.out.println(systime=(systime/1000));
System.out.println("秒:"+ systime%60);
System.out.println(systime=(systime/60));
System.out.println("分钟:"+systime%60);
System.out.println(systime=(systime/60));
System.out.println("⼩时:"+systime%24);
long nano = System.nanoTime();
System.out.println(nano);
}
}
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class GetTime {
public static void main(String[] args) {
Date date = new Date();
long time = date.getTime() ;
System.out.println(time);
Calendar calendar = Calendar.getInstance();
System.out.println(Calendar.getInstance().getTime().getTime());
calendar.add(Calendar.MINUTE, -1);
System.out.println(calendar.getTime().getTime());
Calendar calendar1 = Calendar.getInstance();
System.out.println(calendar1.getTime().getTime());
calendar1.add(Calendar.SECOND, -90);
System.out.println(calendar1.getTime().getTime());
Calendar calendar2 = Calendar.getInstance();
calendar2.add(Calendar.DATE, 1);
System.out.println(calendar2.getTime().getTime());
System.out.println("===============");
long systime = System.currentTimeMillis();
System.out.println(Calendar.getInstance().getTime().getTime());
System.out.println(systime);
System.out.println(systime=(systime/1000));
System.out.println("秒:"+ systime%60);
System.out.println(systime=(systime/60));
System.out.println("分钟:"+systime%60);
System.out.println(systime=(systime/60));
System.out.println("⼩时:"+systime%24);
}
}
当前Java 中除了System类中获取系统时间之外,还有Date,Calender等可以获取系统时间其中Date是⼀个普通的类,实现了implements java.io.Serializable, Cloneable, Comparable<Date> Calendar是⼀个抽象类,实现了implements Serializable, Cloneable, Comparable<Calendar>
System是⼀个最终类。

相关文档
最新文档