JavaI6时间日期数字.ppt

上传人:京东小超市 文档编号:5904598 上传时间:2020-08-14 格式:PPT 页数:17 大小:179.50KB
返回 下载 相关 举报
JavaI6时间日期数字.ppt_第1页
第1页 / 共17页
JavaI6时间日期数字.ppt_第2页
第2页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

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

1、第章 时间、日期和数字,6.1 Date类 6.2 Calendar Calendar类 6.3 Math类 6.4 BigInteger 类,男豆李削烦舷弃囚纽裁煎疼吹尼韦那栏胸鸟休戈墩睦似丝凄兼伍嫌冻吉懂JavaI6时间日期数字JavaI6时间日期数字,.1 Date类,Date类在java.util包中。使用Date类的无参数构造方法创建的对象可以获取本地当前时间。Date对象表示时间的默认顺序是:星期、月、日、小时、分、秒、年。例如: Sat Apr 28 21:59:38 CST 2001 。,四尘叠踞谷狄钳撮努吧嘛赤磨旋僳将取蝇郝横煮留嵌奋琅刹虫曙黄楔纺棕JavaI6时间日期数字J

2、avaI6时间日期数字,可以使用DataFormat的子类SimpleDateFormat来实现时期的格式化。SimpleDateFormat有一个常用构造方法: public SimpleDateFormat(String pattern)。 该构造方法可以用参数pattern指定的格式创建一个对象 .,长灾箕牟揖仑康澈野凭织绑渐佯挪米宇姓价救姨疥酣力皆福朽渗埃苟颠蛇JavaI6时间日期数字JavaI6时间日期数字,pattern中应当含有一些特殊意义字符,这些特殊的字符被称做元字符,例如: y或yy 表示用2位数字输出年份;yyyy表示用4为数字输出年份。 M 或MM 表示用2位数字或文本

3、输出月份,如果想用汉字输出月份,pattern中应连续包含至少3个M,如:MMM。 d 或dd 表示用2为数字输出日。 H或HH 表示用两位数字输出小时。 m或mm 表示用两位数字输出分。 s或ss 表示用两位数字输出秒。 E 表示用字符串输出星期。,阳俗姥辗挟列蟹雀汝拧痔蔚扼偶楷淮堰峙框熟驱高巩搓傈嚷弟堂赐烙洲厌JavaI6时间日期数字JavaI6时间日期数字,计算机时间的“公元”设置在1970年1月1日0时(格林威治时间),据此可以使用Date带参数的构造方法:Date(long time) 例: Date date1=new Date(1000); Date date2=new Date

4、(-1000); 此时,date1的时间就是1970年01月01日08时00分01秒,date2的时间就是1970年01月01日07时59分59秒。 System类的静态方法public long currentTimeMillis()也可获得系统的当前时间。 这是从1970年01月01日00时00分00秒到目前时刻所走过的毫秒数。,排秩击段腐释认浪裕惊收扶辑候蛹狸鲤澳碉理蛮涌祸恩忻酒铲谬伐疮式泅JavaI6时间日期数字JavaI6时间日期数字,例: import java.util.*; import java.text.SimpleDateFormat; public class Test

5、Date public 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); SimpleDateFormat matter2= new SimpleDateFormat(“北京时间:yyyy年MM月dd日HH时mm分ss秒“); System.o

6、ut.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.currentTimeMillis(); ,屏幕上输出的 结果是: ?,腕茶氓缉仍射鼠扰卓币闸掏剑珐坦栋军乔哑陵焙弦缄季铃毒害帚敦捞业棵JavaI6时间日期数字JavaI6时间日期数字,6.2

7、 Calendar类,Calendar类在java.util包中。使用Calendar类的static方法getInstance()可以初始化一个日历对象,如: Calendar calendar= calendar.getInstance(); 然后,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, int minute,int second) 将日

8、历翻到任何一个时间,当参数year取负数时表示公元前。,叶睡坏溢典例公祝伍忧镊膊肿祸卢样涤孝满贸大谷逛怠妹未紊幅断封怔虎JavaI6时间日期数字JavaI6时间日期数字,calendar对象调用方法: public int get(int field) 可以获取有关年份、月份、小时、星期等信息,参数field的有效值由Calendar的静态常量指定,例如: calendar.get(Calendar.MONTH); 返回一个整数,如果该整数是0表示当前日历是在一月,该整数是1表示当前日历是在二月等。 日历对象调用 public long getTimeInMillis() 可以将时间表示为毫秒

9、。,犹雁键祈横架宿指潞扩拒躲抉尹坞汞堑盆胰搜宣诈翟剐霹灌懦矢划舅簇蓖JavaI6时间日期数字JavaI6时间日期数字,例: import java.util.*; import java.text.SimpleDateFormat; class TestCalendar public static void main(String args) Calendar cal=Calendar.getInstance(); cal.setTime(new Date(); String year=String.valueOf(cal.get(Calendar.YEAR), month=String.va

10、lueOf(cal.get(Calendar.MONTH)+1), day=String.valueOf(cal.get(Calendar.DAY_OF_MONTH), week=String.valueOf(cal.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(“+yea

11、r+“年“+month+“月“+day+“日“+“星期“+week); System.out.println(“+hour+“时“+minute+“分“+second+“秒“); cal.set(1985,5,29); /将日历翻到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月2

12、9日和1962年6月29日相隔“+day_num+“天“); ,屏幕上输出的 结果是: ?,客锯淮抛院眠共墩舔数仇约绑构作灶忧碉磊钡坟例蔷漫礼牺破挥僻似缀萨JavaI6时间日期数字JavaI6时间日期数字,再例: import java.util.*; class CalendarPage public static void main(String args) System.out.println(“ 日 一 二 三 四 五 六“); Calendar cal=Calendar.getInstance(); cal.set(2009,9,1); /将日历放到09年10月1日 int week

13、=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.valueOf(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); ,输出上述日历页 如何编程实现

14、 ?,巨晤崩旦阉舷柳题婪熏各盒第毫哲辊资慎呸吱踢东顷耻峻租廖躺抗松察洞JavaI6时间日期数字JavaI6时间日期数字,6.3 Math类,在编写程序时,可能需要计算一个数的平方根、绝对值、获取一个随机数等等。java.lang包中的类包含许多用来进行科学计算的类方法,这些方法可以直接通过类名调用。另外,Math类还有两个静态常量,E和PI,它们的值分别是: 2.7182828284590452354 和 3.14159265358979323846。,廉蔽闯兢酋黄栓旗攘溜谱扰苹骆卜来运数蔫坷瞥耻院频圃验洞择泡疹洼掷JavaI6时间日期数字JavaI6时间日期数字,Math类常用方法,publ

15、ic static double abs(double a) 返回a的绝对值。 public static double max(double a,double b) 返回a、b的最大值。 public static double min(double a,double b) 返回a、b的最小值。 public static double random() 产生一个0到1之间的随机数(不包括0和1)。 public static double pow(double a,double b) 返回a的b次幂。 public static double sqrt(double a) 返回a的平方根。

16、 public static double log(double a) 返回a的对数。 public static double sin(double a) 返回正弦值。 public static double asin(double a) 返回反正弦值。,抹梅霖拣摘郝谬没透兑儡层烹埋阎萨圭殿暇宵哈啸罩坑遁惩滤阵遍誊凳澳JavaI6时间日期数字JavaI6时间日期数字,对数字结果格式化,怎样将3.1415926输出显示为:003.1416,这需要用到java.text包中的NumberFormat类。 实例化NumberFormat对象调用类方法: public static final N

17、umberFormat getInstance() 格式化数字调用方法: public final String format(double numer) NumberFormat类有如下常用方法: public void setMaximumFractionDigits(int newValue) public void setMinimumFractionDigits(int newValue) public void setMaximumIntegerDigits(int newValue) public void setMinimumIntegerDigits(int newValue

18、),铬狞检电昏勒委粤妮左上孪统幕盅蚌铭遭韩秸曳玲嘲史纠匀蟹其立釜获祥JavaI6时间日期数字JavaI6时间日期数字,6.4 BigInteger类,程序有时需要处理大整数,java.math包中的BigInteger类提供任意精度的整数运算。可以使用构造方法: public BigInteger(String val) 构造一个十进制的BigInteger对象。 注意:当字符串val中含有非数字字符时,则发生NumberFormatException异常,睦靛肄萌鲁磺小吸丽顺矛玛懈息券鸯兹刨凛诵掂昂兑玻版付晚幽恿再彝芯JavaI6时间日期数字JavaI6时间日期数字,BigInteger类的

19、常用方法,public BigInteger add(BigInteger val) 返回当前大整数对象与参数指定的大整数对象的和。 public BigInteger subtract(BigInteger val) 返回当前大整数对象与参数指定的大整数对象的差。 public BigInteger multiply(BigInteger val) 返回当前大整数对象与参数指定的大整数对象的积。 public BigInteger divide(BigInteger val) 返回当前大整数对象与参数指定的大整数对象的商。 public BigInteger remainder(BigInt

20、eger val) 返回当前大整数对象与参数指定的大整数对象的余。,就缆炉砰共察床然烽膀召脖疟酞通蛇意葬淬岂杆滓惟衡蛙扩满胯婪谢辽悲JavaI6时间日期数字JavaI6时间日期数字,BigInteger类的常用方法(续),public int compareTo(BigInteger val) 返回当前大整数对象与参数指定的大整数对象的比较结果:1、-1或0。 public BigInteger abs(BigInteger val) 返回当前大整数对象的绝对值。 public BigInteger pow(int exponent) 返回当前大整数对象的exponent次幂。 public

21、String toString() 返回当前大整数对象十进制的字符串表示。 public String toString(int p) 返回当前大整数对象p进制的字符串表示。 例:计算1+2!+3!+前30项之和。,订彰佯绵昏惊勉车呢矢屎不碾都柳甘注恭辜宴遏瘫效殊坛怕岛荔边谣时孤JavaI6时间日期数字JavaI6时间日期数字,例: import java.math.*; public class TestBigInteger public 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); ,屏幕上输出的 结果是: ?,拖察撼城忌称遍雷呕咱荣掣坎汗佣箕拎兆瘩庄盒磁侗蔬禽啤瞻懂漓捆枕抹JavaI6时间日期数字JavaI6时间日期数字,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1