JavaI6时间日期数字课件

上传人:cn****1 文档编号:568438240 上传时间:2024-07-24 格式:PPT 页数:17 大小:174KB
返回 下载 相关 举报
JavaI6时间日期数字课件_第1页
第1页 / 共17页
JavaI6时间日期数字课件_第2页
第2页 / 共17页
JavaI6时间日期数字课件_第3页
第3页 / 共17页
JavaI6时间日期数字课件_第4页
第4页 / 共17页
JavaI6时间日期数字课件_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《JavaI6时间日期数字课件》由会员分享,可在线阅读,更多相关《JavaI6时间日期数字课件(17页珍藏版)》请在金锄头文库上搜索。

1、第章时间、日期和数字 n n6.1 Date类类n n6.2 Calendar Calendar类类n n6.3 Math类类n n6.4 BigInteger 类类 Java I 6Java I 6时间日期数字时间日期数字.1 Date类类 n nDate类在java.util包中。使用Date类的无参数构造方法创建的对象可以获取本地当前时间。Date对象表示时间的默认顺序是:星期、月、日、小时、分、秒、年。例如:Sat Apr 28 21:59:38 CST 2001 。 Java I 6Java I 6时间日期数字时间日期数字n n可以使用DataFormat的子类SimpleDateF

2、ormat来实现时期的格式化。SimpleDateFormat有一个常用构造方法: public SimpleDateFormat(String pattern)public SimpleDateFormat(String pattern)。n n该构造方法可以用参数pattern指定的格式创建一个对象 .Java I 6Java I 6时间日期数字时间日期数字n npatternpattern中应当含有一些特殊意义字符,中应当含有一些特殊意义字符,这些特殊的字符被称做这些特殊的字符被称做元字符元字符元字符元字符,例如:,例如:n ny y或或yy yy 表示用表示用2 2位数字输出年份;位数

3、字输出年份;yyyyyyyy表示用表示用4 4为数字输出年份。为数字输出年份。n nM M 或或MM MM 表示用表示用2 2位数字或文本输出位数字或文本输出月份,如果想用汉字输出月份,月份,如果想用汉字输出月份,patternpattern中应连续包含至少中应连续包含至少3 3个个MM,如:,如:MMMMMM。n nd d 或或dd dd 表示用表示用2 2为数字输出日。为数字输出日。n nH H或或HH HH 表示用两位数字输出小时。表示用两位数字输出小时。n nmm或或mm mm 表示用两位数字输出分。表示用两位数字输出分。n ns s或或ss ss 表示用两位数字输出秒。表示用两位数字

4、输出秒。n nE E 表示用字符串输出星期。表示用字符串输出星期。Java I 6Java I 6时间日期数字时间日期数字n n计算机时间的计算机时间的计算机时间的计算机时间的“ “公元公元公元公元” ”设置在设置在设置在设置在19701970年年年年1 1月月月月1 1日日日日0 0时(格林威治时间),据此时(格林威治时间),据此时(格林威治时间),据此时(格林威治时间),据此可以使用可以使用可以使用可以使用DateDate带参数的构造方法:带参数的构造方法:带参数的构造方法:带参数的构造方法:Date(long time)Date(long time) 例:例: Date date1=ne

5、w Date(1000); Date date1=new Date(1000); Date date2=new Date(-1000); Date date2=new Date(-1000); 此时,此时,date1date1的时间就是的时间就是19701970年年0101月月0101日日0808时时0000分分0101秒,秒,date2date2的时间就的时间就是是19701970年年0101月月0101日日0707时时5959分分5959秒。秒。n nSystemSystem类的静态方法类的静态方法类的静态方法类的静态方法public long currentTimeMillispubli

6、c long currentTimeMillis() ()也可获得系统的当前时间。也可获得系统的当前时间。也可获得系统的当前时间。也可获得系统的当前时间。 这是从这是从19701970年年0101月月0101日日0000时时0000分分0000秒到目秒到目前时刻所走过的毫秒数。前时刻所走过的毫秒数。Java I 6Java I 6时间日期数字时间日期数字例:例:import java.util.*;import java.util.*;import java.text.SimpleDateFormat;import java.text.SimpleDateFormat;public class

7、 TestDatepublic class TestDatepublic static void main(String args)public static void main(String args)Date nowtime=new Date();Date nowtime=new Date();System.out.println(nowtime);System.out.println(nowtime);SimpleDateFormat matter1=SimpleDateFormat matter1=new SimpleDateFormat(time:yyyynew SimpleDate

8、Format(time:yyyy年年年年MMMM月月月月dddd日日日日 E E 北京时间北京时间北京时间北京时间););System.out.println(matter1.format(nowtime);System.out.println(matter1.format(nowtime);SimpleDateFormat matter2=SimpleDateFormat matter2=new SimpleDateFormat(new SimpleDateFormat(北京时间:北京时间:北京时间:北京时间:yyyyyyyy年年年年MMMM月月月月dddd日日日日HHHH时时时时mmmm分

9、分分分ssss秒秒秒秒););System.out.println(matter2.format(nowtime);System.out.println(matter2.format(nowtime);Date date1=new Date(1000),date2=new Date(-1000);Date date1=new Date(1000),date2=new Date(-1000);System.out.println(matter2.format(date1);System.out.println(matter2.format(date1);System.out.println(ma

10、tter2.format(date2);System.out.println(matter2.format(date2);System.out.println(new Date(System.currentTimeMillis();System.out.println(new Date(System.currentTimeMillis(); 屏幕上输出的屏幕上输出的结果是结果是: ?Java I 6Java I 6时间日期数字时间日期数字6.2 Calendar类类n nCalendarCalendar类在类在java.utiljava.util包中。使用包中。使用CalendarCalend

11、ar类的类的staticstatic方法方法getInstance()getInstance()可以初始化一个可以初始化一个日历对象,如:日历对象,如:n nCalendar calendar= calendar.getInstance();Calendar calendar= calendar.getInstance();n n然后,然后,calendarcalendar对象可以调用方法:对象可以调用方法:set(int year,int month,int date)set(int year,int month,int date)set(int year,int month,int dat

12、e,int hour,int minute)set(int year,int month,int date,int hour,int minute)set(int year,int month, int date, int hour, int minute,int set(int year,int month, int date, int hour, int minute,int second)second)将日历翻到任何一个时间,当参数将日历翻到任何一个时间,当参数yearyear取负数取负数时表示公元前。时表示公元前。Java I 6Java I 6时间日期数字时间日期数字n n cale

13、ndar calendar对象调用方法:对象调用方法: public int get(int field)public int get(int field)可以获取有关年份、月份、小时、星期可以获取有关年份、月份、小时、星期等信息,参数等信息,参数fieldfield的有效值由的有效值由CalendarCalendar的静态常量指定,例如:的静态常量指定,例如:calendar.get(Calendar.MONTH);calendar.get(Calendar.MONTH);返回一个整数,如果该整数是返回一个整数,如果该整数是0 0表示当表示当前日历是在一月,该整数是前日历是在一月,该整数是1

14、 1表示当表示当前日历是在二月等。前日历是在二月等。n n日历对象调用日历对象调用public long getTimeInMillis()public long getTimeInMillis()可以将时间表示为毫秒。可以将时间表示为毫秒。 Java I 6Java I 6时间日期数字时间日期数字例:例:import java.util.*;import java.util.*;import java.text.SimpleDateFormat;import java.text.SimpleDateFormat;class TestCalendarclass TestCalendarpubl

15、ic static void main(String args)public static void main(String args)Calendar cal=Calendar.getInstance();Calendar cal=Calendar.getInstance();cal.setTime(new Date();cal.setTime(new Date();String year=String.valueOf(cal.get(Calendar.YEAR),String year=String.valueOf(cal.get(Calendar.YEAR), month=String.

16、valueOf(cal.get(Calendar.MONTH)+1), month=String.valueOf(cal.get(Calendar.MONTH)+1), day=String.valueOf(cal.get(Calendar.DAY_OF_MONTH), day=String.valueOf(cal.get(Calendar.DAY_OF_MONTH), week=String.valueOf(cal.get(Calendar.DAY_OF_WEEK)-1); week=String.valueOf(cal.get(Calendar.DAY_OF_WEEK)-1);int ho

17、ur=cal.get(Calendar.HOUR_OF_DAY),int hour=cal.get(Calendar.HOUR_OF_DAY), minute=cal.get(Calendar.MINUTE), minute=cal.get(Calendar.MINUTE), second=cal.get(Calendar.SECOND); second=cal.get(Calendar.SECOND); System.out.println( System.out.println(现在的时间是:现在的时间是:现在的时间是:现在的时间是:);); System.out.println(+yea

18、r+ System.out.println(+year+年年年年+month+month+月月月月+day+day+日日日日+星期星期星期星期+week);+week); System.out.println(+hour+ System.out.println(+hour+时时时时+minute+minute+分分分分+second+second+秒秒秒秒);); cal.set(1985,5,29); cal.set(1985,5,29); / /将日历翻到将日历翻到将日历翻到将日历翻到19851985年年年年6 6月月月月2929日日日日 long time1985=cal.getTime

19、InMillis(); long time1985=cal.getTimeInMillis(); cal.set(2009,9,29); cal.set(2009,9,29); long time2009=cal.getTimeInMillis(); long time2009=cal.getTimeInMillis(); long day_num=(time2009-time1985)/(1000*60*60*24); long day_num=(time2009-time1985)/(1000*60*60*24); System.out.println(2006 System.out.pr

20、intln(2006年年年年1010月月月月2929日和日和日和日和19621962年年年年6 6月月月月2929日相隔日相隔日相隔日相隔+day_num+day_num+天天天天);); 屏幕上输出的屏幕上输出的结果是结果是: ?Java I 6Java I 6时间日期数字时间日期数字再例:再例:import java.util.*;import java.util.*;class CalendarPageclass CalendarPagepublic static void main(String args)public static void main(String args)Syst

21、em.out.println( System.out.println( 日日日日 一一一一 二二二二 三三三三 四四四四 五五五五 六六六六););Calendar cal=Calendar.getInstance();Calendar cal=Calendar.getInstance();cal.set(2009,9,1); cal.set(2009,9,1); / /将日历放到将日历放到将日历放到将日历放到0909年年年年1010月月月月1 1日日日日int week=cal.get(Calendar.DAY_OF_WEEK)-1;int week=cal.get(Calendar.DAY

22、_OF_WEEK)-1;String a=new Stringweek+31; String a=new Stringweek+31; / /存放号码的一维数组存放号码的一维数组存放号码的一维数组存放号码的一维数组for(int i=0;iweek;i+)for(int i=0;iweek;i+)ai=*;ai=*;for(int i=week,n=1;iweek+31;i+)for(int i=week,n=1;iweek+31;i+)if(n=9)if(n=9) ai=String.valueOf(n)+ ; ai=String.valueOf(n)+ ;elseelse ai=Strin

23、g.valueOf(n); ai=String.valueOf(n);n+;n+; for(int i=0;ia.length;i+)for(int i=0;ia.length;i+)if(i%7=0)if(i%7=0) System.out.println(); System.out.println();System.out.print( +ai);System.out.print( +ai); 输出上述日历页输出上述日历页如何编程实现如何编程实现 ?Java I 6Java I 6时间日期数字时间日期数字6.3 Math类类n n在编写程序时,可能需要计算一个数在编写程序时,可能需要计算一

24、个数的平方根、绝对值、获取一个随机数的平方根、绝对值、获取一个随机数等等。等等。java.langjava.lang包中的类包含许多用包中的类包含许多用来进行科学计算的类方法,这些方法来进行科学计算的类方法,这些方法可以直接通过类名调用。另外,可以直接通过类名调用。另外,MathMath类还有两个静态常量,类还有两个静态常量,E E和和PIPI,它们,它们的值分别是:的值分别是: 2.704523542.70452354和和 3.1493238463.149323846。Java I 6Java I 6时间日期数字时间日期数字Math类常用方法 n npublic static double

25、abs(double a) public static double abs(double a) 返回返回a a的绝对值。的绝对值。n npublic static double max(double a,double b) public static double max(double a,double b) 返回返回a a、b b的最大值。的最大值。n npublic static double min(double a,double b) public static double min(double a,double b) 返回返回a a、b b的最小值。的最小值。n npublic

26、static double random() public static double random() 产生一个产生一个0 0到到1 1之间的之间的随机数(不包括随机数(不包括0 0和和1 1)。)。n npublic static double pow(double a,double b) public static double pow(double a,double b) 返回返回a a的的b b次幂。次幂。n npublic static double sqrt(double a) public static double sqrt(double a) 返回返回a a的平方根。的平方

27、根。n npublic static double log(double a) public static double log(double a) 返回返回a a的对数。的对数。n npublic static double sin(double a) public static double sin(double a) 返回正弦值。返回正弦值。n npublic static double asin(double a) public static double asin(double a) 返回反正弦值。返回反正弦值。 Java I 6Java I 6时间日期数字时间日期数字对数字结果格式

28、化 n n怎样将怎样将3.14159263.1415926输出显示为:输出显示为:003.1416003.1416,这需,这需要用到要用到java.textjava.text包中的包中的NumberFormatNumberFormat类。类。 实例化实例化NumberFormatNumberFormat对象调用类方法:对象调用类方法: public static final NumberFormat getInstance() public static final NumberFormat getInstance() 格式化数字调用方法:格式化数字调用方法: public final Str

29、ing format(double numer) public final String format(double numer)n nNumberFormatNumberFormat类有如下常用方法:类有如下常用方法:l lpublic void setMaximumFractionDigits(int newValue)public void setMaximumFractionDigits(int newValue)l lpublic void setMinimumFractionDigits(int newValue)public void setMinimumFractionDigi

30、ts(int newValue)l lpublic void setMaximumIntegerDigits(int newValue)public void setMaximumIntegerDigits(int newValue)l lpublic void setMinimumIntegerDigits(int newValue)public void setMinimumIntegerDigits(int newValue)Java I 6Java I 6时间日期数字时间日期数字6.4 BigInteger类类n n程序有时需要处理大整数,java.math包中的BigInteger类

31、提供任意精度的整数运算。可以使用构造方法: public BigInteger(String val)构造一个十进制的BigInteger对象。n n注意:注意:当字符串val中含有非数字字符时,则发生NumberFormatException异常Java I 6Java I 6时间日期数字时间日期数字BigInteger类的常用方法 n npublic BigInteger add(BigInteger val) public BigInteger add(BigInteger val) 返回返回当前大整数对象与参数指定的大整数对象的当前大整数对象与参数指定的大整数对象的和。和。n npub

32、lic BigInteger subtract(BigInteger val) public BigInteger subtract(BigInteger val) 返回当前大整数对象与参数指定的大整数对返回当前大整数对象与参数指定的大整数对象的差。象的差。n npublic BigInteger multiply(BigInteger val) public BigInteger multiply(BigInteger val) 返返回当前大整数对象与参数指定的大整数对象回当前大整数对象与参数指定的大整数对象的积。的积。n npublic BigInteger divide(BigInteg

33、er val) public BigInteger divide(BigInteger val) 返返回当前大整数对象与参数指定的大整数对象回当前大整数对象与参数指定的大整数对象的商。的商。n npublic BigInteger remainder(BigInteger val) public BigInteger remainder(BigInteger val) 返回当前大整数对象与参数指定的大整数对返回当前大整数对象与参数指定的大整数对象的余。象的余。Java I 6Java I 6时间日期数字时间日期数字BigInteger类的常用方法(续) n npublic int compar

34、eTo(BigInteger val) public int compareTo(BigInteger val) 返回返回当前大整数对象与参数指定的大整数对象的当前大整数对象与参数指定的大整数对象的比较结果:比较结果:1 1、-1-1或或0 0。n npublic BigInteger abs(BigInteger val) public BigInteger abs(BigInteger val) 返回返回当前大整数对象的绝对值。当前大整数对象的绝对值。n npublic BigInteger pow(int exponent) public BigInteger pow(int expon

35、ent) 返回当返回当前大整数对象的前大整数对象的exponentexponent次幂。次幂。n npublic String toString() public String toString() 返回当前大整数对返回当前大整数对象十进制的字符串表示。象十进制的字符串表示。n npublic String toString(int p) public String toString(int p) 返回当前大整返回当前大整数对象数对象p p进制的字符串表示。进制的字符串表示。例:计算例:计算1+21+2!+3+3!+.+.前前3030项之和。项之和。Java I 6Java I 6时间日期数字

36、时间日期数字例:import java.math.*;import java.math.*;public class TestBigIntegerpublic class TestBigIntegerpublic static void main(String args)public static void main(String args)BigInteger sum=new BigInteger(0),BigInteger sum=new BigInteger(0), xiang=new BigInteger(1), xiang=new BigInteger(1), ONE=new Big

37、Integer(1), ONE=new BigInteger(1), i=ONE, i=ONE, m=new BigInteger(30); m=new BigInteger(30);while(pareTo(m)=0)while(pareTo(m)=0)sum=sum.add(xiang);sum=sum.add(xiang);i=i.add(ONE);i=i.add(ONE);xiang=xiang.multiply(i);xiang=xiang.multiply(i); System.out.println(sum);System.out.println(sum); 屏幕上输出的屏幕上输出的结果是结果是: ?Java I 6Java I 6时间日期数字时间日期数字

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号