Java I 6时间日期数字.ppt

上传人:赵** 文档编号:78689039 上传时间:2023-03-18 格式:PPT 页数:17 大小:187.50KB
返回 下载 相关 举报
Java I 6时间日期数字.ppt_第1页
第1页 / 共17页
Java I 6时间日期数字.ppt_第2页
第2页 / 共17页
点击查看更多>>
资源描述

《Java I 6时间日期数字.ppt》由会员分享,可在线阅读,更多相关《Java I 6时间日期数字.ppt(17页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

2、ormat(String pattern)。n n该构造方法可以用参数pattern指定的格式创建一个对象.npattern中应当含有一些特殊意义字符,这些特殊的字符被称做元字符元字符,例如:ny或yy 表示用2位数字输出年份;yyyy表示用4为数字输出年份。nM 或MM 表示用2位数字或文本输出月份,如果想用汉字输出月份,pattern中应连续包含至少3个M,如:MMM。nd 或dd 表示用2为数字输出日。nH或HH 表示用两位数字输出小时。nm或mm 表示用两位数字输出分。ns或ss 表示用两位数字输出秒。nE 表示用字符串输出星期。n计算机时间的计算机时间的“公元公元”设置在设置在197

3、0年年1月月1日日0时(格林威治时间),据此时(格林威治时间),据此可以使用可以使用Date带参数的构造方法:带参数的构造方法:Date(long time)例:Date date1=new Date(1000);Date date2=new Date(-1000);此时,date1的时间就是1970年01月01日08时00分01秒,date2的时间就是1970年01月01日07时59分59秒。nSystem类的静态方法类的静态方法public long currentTimeMillis()也可获得系统的当前时间。也可获得系统的当前时间。这是从1970年01月01日00时00分00秒到目前时

4、刻所走过的毫秒数。例:import java.util.*;import java.text.SimpleDateFormat;public class TestDatepublic static void main(String args)Date nowtime=new Date();System.out.println(nowtime);SimpleDateFormat matter1=new SimpleDateFormat(time:yyyy年年MM月月dd日日 E 北京时间北京时间);System.out.println(matter1.format(nowtime);Simple

5、DateFormat matter2=new SimpleDateFormat(北京时间:北京时间:yyyy年年MM月月dd日日HH时时mm分分ss秒秒);System.out.println(matter2.format(nowtime);Date date1=new Date(1000),date2=new Date(-1000);System.out.println(matter2.format(date1);System.out.println(matter2.format(date2);System.out.println(new Date(System.currentTimeMil

6、lis();屏幕上输出的屏幕上输出的结果是结果是:?6.2 Calendar类类nCalendar类在java.util包中。使用Calendar类的static方法getInstance()可以初始化一个日历对象,如:nCalendar calendar=calendar.getInstance();n然后,calendar对象可以调用方法:set(int year,int month,int date)set(int year,int month,int date,int hour,int minute)set(int year,int month,int date,int hour,in

7、t minute,int second)将日历翻到任何一个时间,当参数year取负数时表示公元前。n calendar对象调用方法:public int get(int field)可以获取有关年份、月份、小时、星期等信息,参数field的有效值由Calendar的静态常量指定,例如:calendar.get(Calendar.MONTH);返回一个整数,如果该整数是0表示当前日历是在一月,该整数是1表示当前日历是在二月等。n日历对象调用public long getTimeInMillis()可以将时间表示为毫秒。例:import java.util.*;import java.text.S

8、impleDateFormat;class TestCalendarpublic static void main(String args)Calendar cal=Calendar.getInstance();cal.setTime(new Date();String year=String.valueOf(cal.get(Calendar.YEAR),month=String.valueOf(cal.get(Calendar.MONTH)+1),day=String.valueOf(cal.get(Calendar.DAY_OF_MONTH),week=String.valueOf(cal

9、.get(Calendar.DAY_OF_WEEK)-1);int hour=cal.get(Calendar.HOUR_OF_DAY),minute=cal.get(Calendar.MINUTE),second=cal.get(Calendar.SECOND);System.out.println(现在的时间是:现在的时间是:);System.out.println(+year+年年+month+月月+day+日日+星期星期+week);System.out.println(+hour+时时+minute+分分+second+秒秒);cal.set(1985,5,29);/将日历翻到将日历

10、翻到1985年年6月月29日日 long time1985=cal.getTimeInMillis();cal.set(2009,9,29);long time2009=cal.getTimeInMillis();long day_num=(time2009-time1985)/(1000*60*60*24);System.out.println(2006年年10月月29日和日和1962年年6月月29日相隔日相隔+day_num+天天);屏幕上输出的屏幕上输出的结果是结果是:?再例:import java.util.*;class CalendarPagepublic static void

11、main(String args)System.out.println(日日 一一 二二 三三 四四 五五 六六);Calendar cal=Calendar.getInstance();cal.set(2009,9,1);/将日历放到将日历放到09年年10月月1日日int week=cal.get(Calendar.DAY_OF_WEEK)-1;String a=new Stringweek+31;/存放号码的一维数组存放号码的一维数组for(int i=0;iweek;i+)ai=*;for(int i=week,n=1;iweek+31;i+)if(n=9)ai=String.value

12、Of(n)+;else ai=String.valueOf(n);n+;for(int i=0;ia.length;i+)if(i%7=0)System.out.println();System.out.print(+ai);输出上述日历页输出上述日历页如何编程实现如何编程实现?6.3 Math类类n n在编写程序时,可能需要计算一个数在编写程序时,可能需要计算一个数的平方根、绝对值、获取一个随机数的平方根、绝对值、获取一个随机数等等。等等。java.langjava.lang包中的类包含许多用包中的类包含许多用来进行科学计算的类方法,这些方法来进行科学计算的类方法,这些方法可以直接通过类名调

13、用。另外,可以直接通过类名调用。另外,MathMath类还有两个静态常量,类还有两个静态常量,E E和和PIPI,它们,它们的值分别是:的值分别是:2.71828282845904523542.7182828284590452354和和 3.141592653589793238463.14159265358979323846。Math类常用方法 npublic static double abs(double a)返回a的绝对值。npublic static double max(double a,double b)返回a、b的最大值。npublic static double min(dou

14、ble a,double b)返回a、b的最小值。npublic static double random()产生一个0到1之间的随机数(不包括0和1)。npublic static double pow(double a,double b)返回a的b次幂。npublic static double sqrt(double a)返回a的平方根。npublic static double log(double a)返回a的对数。npublic static double sin(double a)返回正弦值。npublic static double asin(double a)返回反正弦值。对

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

16、ing public final String format(doubleformat(double numernumer)n nNumberFormatNumberFormat类有如下常用方法:类有如下常用方法:l lpublic void public void setMaximumFractionDigits(intsetMaximumFractionDigits(int newValuenewValue)l lpublic void public void setMinimumFractionDigits(intsetMinimumFractionDigits(int newValue

17、newValue)l lpublic void public void setMaximumIntegerDigits(intsetMaximumIntegerDigits(int newValuenewValue)l lpublic void public void setMinimumIntegerDigits(intsetMinimumIntegerDigits(int newValuenewValue)6.4 BigInteger类类n n程序有时需要处理大整数,java.math包中的BigInteger类提供任意精度的整数运算。可以使用构造方法:public BigInteger(

18、String val)构造一个十进制的BigInteger对象。n注意:注意:当字符串val中含有非数字字符时,则发生NumberFormatException异常BigInteger类的常用方法 n npublic public BigIntegerBigInteger add(BigIntegeradd(BigInteger valval)返回返回当前大整数对象与参数指定的大整数对象的当前大整数对象与参数指定的大整数对象的和。和。n npublic public BigIntegerBigInteger subtract(BigIntegersubtract(BigInteger valv

19、al)返回当前大整数对象与参数指定的大整数对返回当前大整数对象与参数指定的大整数对象的差。象的差。n npublic public BigIntegerBigInteger multiply(BigIntegermultiply(BigInteger valval)返返回当前大整数对象与参数指定的大整数对象回当前大整数对象与参数指定的大整数对象的积。的积。n npublic public BigIntegerBigInteger divide(BigIntegerdivide(BigInteger valval)返返回当前大整数对象与参数指定的大整数对象回当前大整数对象与参数指定的大整数对象的

20、商。的商。n npublic public BigIntegerBigInteger remainder(BigIntegerremainder(BigInteger valval)返回当前大整数对象与参数指定的大整数对返回当前大整数对象与参数指定的大整数对象的余。象的余。BigInteger类的常用方法(续)n npublic public intint compareTo(BigIntegercompareTo(BigInteger valval)返回返回当前大整数对象与参数指定的大整数对象的当前大整数对象与参数指定的大整数对象的比较结果:比较结果:1 1、-1-1或或0 0。n npub

21、lic public BigIntegerBigInteger abs(BigIntegerabs(BigInteger valval)返回返回当前大整数对象的绝对值。当前大整数对象的绝对值。n npublic public BigIntegerBigInteger pow(intpow(int exponent)exponent)返回当返回当前大整数对象的前大整数对象的exponentexponent次幂。次幂。n npublic String public String toStringtoString()()返回当前大整数对返回当前大整数对象十进制的字符串表示。象十进制的字符串表示。n

22、npublic String public String toString(inttoString(int p)p)返回当前大整返回当前大整数对象数对象p p进制的字符串表示。进制的字符串表示。例:计算例:计算1+21+2!+3+3!+.+.前前3030项之和。项之和。例:import java.math.*;public class TestBigIntegerpublic static void main(String args)BigInteger sum=new BigInteger(0),xiang=new BigInteger(1),ONE=new BigInteger(1),i=ONE,m=new BigInteger(30);while(pareTo(m)=0)sum=sum.add(xiang);i=i.add(ONE);xiang=xiang.multiply(i);System.out.println(sum);屏幕上输出的屏幕上输出的结果是结果是:?

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁