资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
第6章 时间、日期和数字6.1 Date类Date a=new Date(); (1)Date类在java.util包中。使用Date类的无参数构造方法创建的对象可以获取本地当前时间。Date对象表示时间的默认顺序是星期、月、日、小时、分、秒、年。例如:Sat Apr 28 21:59:38 CST 2001 (2)我们可能希望按着某种习惯来输出时间,比如时间的顺序: 年 月 星期 日 或 年 月 星期 日 小时 分 秒。 这时可以使用DataFormat的子类SimpleDateFormat来实现时期的格式化。SimpleDateFormat有一个常用构造方法:public SimpleDateFormat(String pattern)。 该构造方法可以用参数pattern指定的格式创建一个对象,该对象调用format(Date date)方法格式化时间对象date。需要注意的是,pattern中应当含有一些有效的字符序列。例如: y或yy 表示用两位数字输出年份 yyyy表示用4位数字输出年份。 M或MM 表示用两位数字或文本输出月份,如果想用汉字输出月份,pattern中应连续包含至少3个M,如MMM。 d或dd 表示用两位数字输出日。 H或HH 表示用两位数字输出小时。 m或mm 表示用两位数字输出分。 s或ss 表示用两位数字输出秒。 E 表示用字符串输出星期。 在下面的例子dateformat.java中,我们用3种格式输出时间。 (3)Java日期时间及其格式化 可以用System类的静态方法public static long currentTimeMillis()获取系统当前时间,这个时间是从1970年1月1日0点到目前时刻所走过的毫秒数(这是一个不小的数)。另外,也可以根据currentTimeMillis()方法得到的数字,用Date的构造方法Date(long time)来创建一个Date对象。 在下面的例子6.1中,用三种格式输出时间。例子6.1:(效果如图) import java.util.Date;import java.text.SimpleDateFormat; class Example6_1public 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.out.println(matter2.format(nowTime);Date date1 = new Date(1000);Date date2 = new Date(-1000); System.out.println(matter2.format(date1); System.out.println(matter2.format(date2); System.out.println(new Date(System.currentTimeMillis(); 6.2 Calendar类 (1)Calendar类在java.util包中,使用Calendar类的static方法getlnstance()可以初始化一个日历对象,如: Calendar calendar=Calendar.getlnstance(); 然后,calendar对象可以调用方法: public final void set(int year,int month,int date) public final void set(int year,int month,int date,int hour,int minute) public final void set(int year,int month,iht date,int hour;int minute,int second) (2)将日历翻到任何一个时间,当参数year取负数时表示公元前 calendar对象调用方法: public int get(int field) (3)可以获取有关年份、月份、小时、星期等信息,参数field的有效值由Calendar的静态常量指定,例如: calendar.get(Calendar.MONTH); 返回一个整数,如果该整数是0,表示当前日历是在一月;该整数是1,表示当前日历是在二月等。 (4)日历对象调用: public long getTimelnMillis() 可以将时间表示为毫秒。 下面的例子rili.java使用Calendar来表示时间。并计算了2003年和1962年之间相隔的天数。注意周一是星期0 下面的例子monthli输出2004年1月的日历页。 6.3 Math类 在编写程序时,可能需要计算一个数的平方根、绝对值、获取一个随机数等。java.lang包中的类包含许多用来进行科学计算的类方法,这些方法可以直接通过类名调用另外,Math类还有两个静态常量E和PI,它们的值分别是2.7182828284590452354和3.14159265358979323846。 以下是Math类常用方法: public 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的平方根。 public static double log(double a) 返回a的对数。 public static double sin(double a) 返回正弦值。 public static double asin(doublea) 返回反正弦值。 有时我们可能需要对输出的数字结果进行必要的格式化,例如,对于3.14356789,我们希望保留小数位为3位、整数部分至少要显示3位,即将3.14356789格式化为003.144。 可以使用java.text包中的NumberFormat类,该类调用类方法 public static final NumberFormat getInstance()实例化一个NumberFormat对象,该对象调用 public final String format(double number)方法可以格式化数字number。 NumberFormat类有如下常用方法: public void setMaximumFractionDigits(int newValue)/设置最多有几位小数 public void setMinimumFractionDigits(int newValue)/设置最少有几位小数 public void setMaximumlntegerDigits(int newValue)/设置最多有几位整数位 public void setMinimumlntegerDigits(int newValue)/设置最少有几位整数位
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号