文档详情

Java程序设计基础教程((慕课版)(第2版) 课件 第8单元 日期和时间.pptx

发布:2025-05-27约8.85千字共22页下载文档
文本预览下载声明

第8单元日期和时间Java程序设计基础教程((慕课版)(第2版))

目录导航8.1Date类8.3项目实战8.2Calendar类8.4单元小结

8.1.1计算机的时间1970年1月1日是UNIX(UniplexedInformationandComputingService,分时复用信息计算服务)和C语言的生日。美国计算机科学家肯尼斯·蓝·汤普逊使用B语言在PDP(ProgrammedDataProcessor,程序数据处理机)-7机器上开发出了UNIX的一个新版本,随后又与同事丹尼斯·里奇改进了B语言,开发出了C语言并重写了UNIX。当时,计算机系统是32位系统。时间若使用32位有符号数表示,可以表示68年;若用32位无符号数表示,可以表示136年。当时人们认为可以以1970年1月1日0时0分0秒为时间原点,并在C语言的time()方法中这么应用了。因此,计算机便使用1970年1月1日0时0分0秒作为时间原点,随后的语言也沿用了这种设定。

任务8-1当前时间与计算机时间原点文件ComputerTimeDemo.javapublicclassComputerTimeDemo{publicstaticvoidmain(String[]args)throwsParseException{Dateday=newDate(0);//获取时间原点longtime=System.currentTimeMillis();//获取当前时间相较于时间原点的毫秒数Datedate=newDate(time);//获取Date类型的对象,时间默认为当前时间//Date类型的toLocaleString()方法已经被废弃,不建议使用,但为了演示方便,暂且使用System.out.println(当前时间:+date.toLocaleString());System.out.println(计算机时间原点:+day.toLocaleString());longbetween=date.getTime()-day.getTime();System.out.println(系统当前时间与计算机时间原点的毫秒值;+between);System.out.println(当前时间与时间原点的差值与系统获取的当前毫秒值的差值:+(time-between));}}运行结果如图8-1所示。从运行结果不难发现,Java中的时间原点是1970年1月1日8时0分0秒(细心的读者可能会问为何不是0点,这是因为北京在东八区,所以使用北京时间时默认是8点)。Java中获取系统当前时间毫秒值的方法是Native()方法,该方法是用C语言实现的。

8.1.2Date类的应用Date类的无参构造方法通过获取当前系统的毫秒值来初始化一个日期对象,同时Date类也提供了一个接受毫秒值的构造函数。无参构造方法就是将系统当前毫秒值传入该构造函数,所以在任务8-1中最后的毫秒差值是0。另外,当传入一个0作为参数的时候,返回的是计算机时间原点。SimpleDateFormat类是用于时间格式化的工具类,它可将日期格式化为字符串,同时也支持将字符串转换为日期对象的方法。

任务8-2Date类的使用文件DateDemo.javapublicclassDateDemo{publicstaticvoidmain(String[]args){Datedate=newDate();//获取计算机的当前时间SimpleDateFormatsdf=newSimpleDateFormat(yyyy-MM-ddHH:mm:ss);//参数是日期的格式StringdateStr=sdf.format(date); //将时间格式化System.out.println(格式化输出时间:+dateStr);StringdayStr=1990-01-0100:00:00; //格式化后的日期类型的字符串try{Dateday=sdf.parse(dayStr); //将字符串转换成日期类型System.out.println(使用格式化的日期字符串创建的日期对象;+day);}catch(ParseExceptione){e.printStac

显示全部
相似文档