java第六章时间日期数字预习笔记

合集下载

Java日期时间使用总结

Java日期时间使用总结

Java⽇期时间使⽤总结Java 中有关⽇期时间的操作,其实⾮常简单,没什么好介绍的。

之所以编写简单知识点的博客,主要还是因为最近⽐较忙碌。

但是不管多么忙碌,⾃⼰还是想挤出时间,保持编写技术博客的习惯。

毕竟编写博客,不仅仅是为了总结,向别⼈分享技术,更重要的是锻炼⾃⼰的思考沉淀能⼒,以及写作表达能⼒。

下⾯我就快速简单的介绍⼀下 Java 中的⽇期时间操作类吧。

⼀、传统的⽇期时间类传统的⽇期时间操作类,主要有两个:Date 类和 SimpleDateFormat 类。

Date 类代码⽰例:import java.util.Date;public class DateDemo {public static void main(String[] args) {//使⽤空参构造 Date 对象,打印出的时间就是本机系统当前时间Date date1 = new Date();System.out.println(date1);/*使⽤有参构造 Date 对象,参数传递的是从计算机原点时间起的毫秒值在零时区,计算机原点时间是 1970 年 1 ⽉ 1 ⽇ 0 点整因为中国在东⼋区,所以对于中国⽽⾔,计算机原点时间是 1970 年 1 ⽉ 1 ⽇ 8 点整。

传递 0 毫秒,表⽰获取计算机原点时间*/Date date2 = new Date(0L);//打印出来的是 Thu Jan 01 08:00:00 CST 1970//也就是1970年1⽉1⽇8点,主要是因为中国是东⼋区,因此需要加8个⼩时System.out.println(date2);Date date3 = new Date();//通过 Date 对象的 getTime 可以获取到从计算机原点时间累计到现在的毫秒值long time1 = date3.getTime();System.out.println(time1);//Java也提供了⼀个快捷⽅法,获取到从计算机原点时间累计到现在的毫秒值long time2 = System.currentTimeMillis();//打印出来的 time2 和 time1 的值是相同的System.out.println(time2);Date date4 = new Date();//通过 setTime 传⼊从计算机原点起累计的毫秒值,可以设置出新的时间date4.setTime(0L);System.out.println(date4); //此时打印出的是计算机原点时间}}SimpleDateFormat 类的代码演⽰:import java.text.SimpleDateFormat;import java.util.Date;/*SimpleDateFormat 主要是为了将 Date 对象格式化为⾃定义的⽇期时间字符串也可以将指定格式的⽇期格式字符串,解析为 Date 对象*/public class DateDemo {public static void main(String[] args) {//将【⽇期对象】转换为【字符串】代码⽰例Date date1 = new Date();//创建了⼀个⽇期格式。

java中日期及反射机制课堂笔记

java中日期及反射机制课堂笔记

Java.util包下提供了两个可以处理日期的类,分别是Date和GregorianCalendar.
new Date()得到的是当前日期和时间
getTime()返回自1970年1月1日到当前日期的毫秒数。

使用java.text.SimpleDateFormat类可以将java.util.Date按格式转换成字符串
调用format方法进行转换,转换后返回String类型的数据
//产生一个类的实例的方式
//1.可以通过new来实现
//但有的时候得不到类名,只能拿到类的全名"com.buaa.Person"
//可能是从文件、数据库或者是页面的文本框获取过来的。

利用反射机制可以在只知道类的全名的情况下去实例化一个类并拿到对象。

一类最基本的,最重的组成部分
要有空参构造
属性要私有化
要有set/get方法
满足以上三个条件的类叫做
javaBean,
POJO(Plain Old Java Objects)简单的Java对象,实际就是普通JavaBeans,
VO (value object)值对象。

通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。

但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.。

java学习笔记

java学习笔记

目录接口 (2)多态性 (2)抽象类和接口的实现 (3)Object类 (3)包装类 (4)匿名内部类 (4)异常的基本概念 (4)异常的其他概念 (6)包的定义和导入 (7)访问控制权限及命名规范 (8)多线程 (9)线程常用操作方法 (10)线程的操作规范 (12)同步和死锁 (12)线程的生命周期 (13)泛型入门 (13)通配符 (14)泛型的其他应用 (15)Java常用类库 (16)StringBuffer (16)Runtime类 (17)国际化程序 (18)System类 (19)日期操作类 (20)Math和Random类 (20)NumberFormat类 (21)接口接口的定义格式:Interface 接口名称{全局常量;抽象方法;}1.接口的所有访问权限都是public2.接口的使用中必须有子类,子类必须重新写抽象方法,implements 关键字实现。

一个子类可以实现多个接口,则子类不是抽象类的话,肯定要覆写接口中全部的抽象方法。

3.一个子类可以同时继承抽象类和实现接口。

格式如下:Class 子类 extends 抽象类 implements 接口 A,接口B,….{};4.一个接口不能继承一个抽象类。

但是却可以通过extends 关键字同时继承多个接口,实现接口的多继承。

格式:Interface 子接口 extends 父接口A,父接口B,….{}5.接口是一个特殊的类,只包含全局常量和抽象方法接口中的抽象方法可以不加入abstract而抽象类中的抽象方法中必须有abstract关键字声明。

多态性1.向上转型:通过其子类进行父类对象的实例化操作的,则如果调用的方法被子类覆写过,则肯定调用被覆写过的方法。

转型之后,因为操作的是父类的对象,所以无法找到子类中定义的新方法。

2.向下转型:将父类对象变成子类对象,称为向下转型,向下转型需要采用强制的手段。

但在进行对象向下转型操作的时候有一个注意点:如果想要产生对象的向下转型,则肯定必须先产生一个向上转型的关系“A a = new B()”表示建立关系Instanceof关键字1.在java中使用instanceof关键字判断一个对象是哪个类的实例对象 instanceof类---返回Boolean类型2.在开发中一定要注意,对于向下转型操作最好增加验证,以保证转型时不会发生ClassCastException.3.在程序开发中重点的设计应该放在父类上,只要父类设计的足够合理,则开发肯定会非常的方便,而且在开发中一定记住:一个类永远不要去继承一个已经实现好的类,而只能继承抽象类或实现接口。

java第六章时间日期数字预习笔记

java第六章时间日期数字预习笔记

j a v a第六章时间日期数字预习笔记WTD standardization office【WTD 5AB- WTDK 08- WTD 2C】第6章时间、日期和数字 Date类Date a=new Date();(1)Date类在包中。

使用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 表示用字符串输出星期。

在下面的例子中,我们用3种格式输出时间。

(3)Java日期时间及其格式化可以用System类的静态方法public static long currentTimeMillis()获取系统当前时间,这个时间是从1970年1月1日0点到目前时刻所走过的毫秒数(这是一个不小的数)。

另外,也可以根据currentTimeMillis()方法得到的数字,用Date的构造方法Date(long time)来创建一个Date对象。

Java日期时间使用总结

Java日期时间使用总结

Java日期时间使用总结一、Java中的日期概述日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题。

在Java中,操作日期主要涉及到以下几个类:1、java.util.Date类 Date 表示特定的瞬间,精确到毫秒。

从 JDK 1.1 开始,应该使用 Calendar 类实现日期和时间字段之间转换,使用 DateFormat 类来格式化和分析日期字符串。

Date 中的把日期解释为年、月、日、小时、分钟和秒值的方法已废弃。

2、java.text.DateFormat(抽象类)DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并分析日期或时间。

日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期 -> 文本)、分析(文本-> 日期)和标准化。

将日期表示为 Date 对象,或者表示为从 GMT(格林尼治标准时间)1970 年,1 月 1 日 00:00:00 这一刻开始的毫秒数。

3、java.text.SimpleDateFormat(DateFormat的直接子类)SimpleDateFormat 是一个以与语言环境相关的方式来格式化和分析日期的具体类。

它允许进行格式化(日期 -> 文本)、分析(文本 -> 日期)和规范化。

SimpleDateFormat 使得可以选择任何用户定义的日期-时间格式的模式。

但是,仍然建议通过 DateFormat 中的 getTimeInstance、getDateInstance 或getDateTimeInstance 来新的创建日期-时间格式化程序。

4、java.util.Calendar(抽象类)Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。

Java 日期时间总结

Java 日期时间总结

Java 日期时间目录1、Date 对象中的方法 (2)2、日期比较 (3)3、获取当前日期时间 (4)4、使用 SimpleDateFormat 格式化日期 (4)5、日期和时间的格式化编码 (4)6、使用printf格式化日期 (6)7、解析字符串为时间 (7)8、Java 休眠(sleep) (8)9、测量时间 (9)10、Calendar类 (9)11、创建一个指定日期的Calendar对象 (10)12、Calendar类对象字段类型 (10)13、GregorianCalendar类 (11)1、Date 对象中的方法2、日期比较Java使用以下三种方法来比较两个日期:2.1使用 getTime() 方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。

2.2使用方法 before(),after() 和 equals()。

例如,一个月的12号比18号早,则 new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回true。

2.3使用 compareTo() 方法,它是由 Comparable 接口定义的,Date 类实现了这个接口。

3、获取当前日期时间Java中获取当前日期和时间很简单,使用Date 对象的toString() 方法来打印当前日期和时间,如下所示:4、使用 SimpleDateFormat 格式化日期SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类。

SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行。

例如:注意:有的格式大写,有的格式小写,例如 MM 是月份,mm 是分;HH 是 24 小时制,而 hh 是 12 小时制。

5、日期和时间的格式化编码时间模式字符串用来指定时间格式。

在此模式中,所有的 ASCII 字母被保留为模式字母,定义如下:6、使用printf格式化日期printf 方法可以很轻松地格式化时间和日期。

java课堂笔记(全部基础知识)

Java_U1课堂笔记(一)初识Java一、配置Java环境变量:1、复制JDK安装路径,如:C:\Program Files (x86)\Java\jdk1.7.0_51\bin2、粘贴到我的电脑->属性->高级系统设置->环境变量->Path3、加上英文的分号4、验证是否配置正确:dos-->java -version进入DOS窗口的方法:运行(或快捷键windows键+r)二、Java程序编写三步骤:编写 .java编译:javac **.java运行java **三、使用jad反编译工具:DOS中切换至jad安装目录,如:C:\jad1.5.8g.win输入命令:jad -s java D:\t01\HelloWorld.class四、变量的使用:页脚内容1变量取名,命名规则类型数值:int、double、float(f)非数值:char、String类型名字= 值;int age=10;五、上机验证:System.out.println(5+3);System.out.println("5"+3);六、Scanner的使用,接收用户键盘输入Scannerimport java.util.Scanner;Scanner input=new Scanner(System.in);input.next();(相关方法,nextDouble()、nextFloat()、nextInt(等)bin:exejre页脚内容2libsrc.zip(二)数据类型一、数据类型转换自动类型转换:int num=100;double b=num;强制类型转换double num=100.9;int b=(int)num;二、运算符赋值运算符=算数运算符+ - * / % ++ --+= -= *= /= %=关系运算符> < >= <= == !=逻辑运算符&& || !页脚内容3条件运算符?:了解优先级即可三、流程控制1、if:基本ifif-else多重if嵌套if注意:条件是boolean值常见错误:if(num=5){}else{}大括号不省略多重if顺序问题注意:页脚内容4流程图的使用和问题的分析解决过程2、switch等值比较注意:(1)语法上的常见错误(2)和多重if的异同循环结构:解决重复性的操作简介高效(三)循环结构一:循环:(1)while循环while(条件){操作循环变量迭代}注意:页脚内容5代码缩进循环能否正常退出(2)do-while循环do{循环}while(条件);注意:代码缩进循环能否正常退出和while的区别:语法上、执行上(至少执行一次)(3)for循环for(变量初始化;条件;变量迭代){循环操作}页脚内容6注意:代码缩进循环能否正常退出执行顺序循环变量可以有多个二、双重循环双重循环的特点:外层循环进入一次,内层循环就要完整的执行一遍特点:外执行一次内执行一轮双重循环次数:外层循环次数*内层循环的次数实现的重点:页脚内容7(1)确定谁做外层循环,确定谁做内层循环(2)两层循环变量有没有规律性的关系1、打印图形:找规律矩形行i外层星星j内层1 52 53 54 55 5平行四边形行i外层内层:空格星星1 4=5-i 52 3=5-i 53 2=5-i 5页脚内容84 1=5-i 55 0=5-i 5等腰三角形行i外层内层:空格星星1 4=5-i 1=2*i-12 3=5-i 3=2*i-13 2=5-i 5=2*i-14 1=5-i 7=2*i-15 0=5-i 9=2*i-12、打印九九乘法表行i(1-9)第一个操作数i 第二个操作数(从1到i)三:循环应用1、分析需求:重复做一件事情前提条件(循环进入的条件)做什么事情(循环操作)页脚内容92、用代码解释选择一种合适的循环结构whiledo-whilefor根据所选择的结构套用语法while(条件){}do{}while(条件);for(循环变量初始化;条件;迭代){}3、容易出错的点(1)变量在何处声明例1:计算5门课平均成绩页脚内容10例2:for(int i=0;i<=6;i++){System.out.println(i);}int j=i;System.out.println(j);(2)没有适当的(合适的)跳出循环根本跳不出来根本进不去循环多或少循环了一次四、循环的跳转break:跳出整个循环continue:跳出本次循环,进入下次循环return:结束方法(了解即可)五、程序调试页脚内容11设置断点Debug->单步运行F5 F6观察变量(三)数组一、数组1、数组的基本使用(1)数组的作用一组相同数据类型的数数组也是变量,内存中一串连续的空间(2)数组的几个基本概念标识符(数组名字)元素下标:从0开始数据类型数组的长度(数组名字.length)(3)数组使用步骤声明数组页脚内容12int[] num;int num[];分配空间num=new int[8];赋值处理数据int[] num={5,8,7};int[] num=new int[]{5,8,7};(4)循环和数组结合的使用下标(0-数组.length-1)遍历时两种方法:方法一:传统for方法二://增强型for(foreach)for(int score:scores){sum+=score;页脚内容13}二、回顾数组变量,内存中一串连续的空间相同数据类型的一组数据数组的基本概念元素数据类型(数组类型)下标(0,数组.length-1)数组的长度:数组.length数组的基本使用声明数组(类型[] 数组名称或类型数组名称[])分配空间(数组名称= new 数据类型[5];)赋值(num[0]= ;)处理数据变量:基本数据类型页脚内容14int、double、float、char、boolean引用数据类型String、数组内存分布不同使用上不同.三、数组的典型使用1、求最大值、最小值(打擂台)2、插入算法(找位置)3、冒泡排序数组存储5个数字下标:0 1 2 3 4外层循环内层循环i:0第一轮+ j比较次数:4 =4:length-1页脚内容15i:1第二轮+ j比较次数:3=4:length-1i:2第三轮+ j比较次数:2 =4:length-1i:3第四轮+ j比较次数:1=4:length-1i+j=数组.length-1j=数组.length-1-i共比较几次?5个数字:4+3+2+1=106个数字:5+4+3+2+1=157个数字:6+5+4+3+2+1=21n个数字:(n-1)+(n-2)+(n-3)+.....+1=n*(n-1)/24、Arrays类的使用常用方法:页脚内容16sort().....记得查API帮助文档(帮助文档已经在网盘中提供了,如果大家在Oracle官网中没有下载,可以找中心的技术顾问老师提供网盘用户名和密码,登录后拿到帮助文档)数据类型基本数据类型int double char boolean 。

Java学习笔记

Java学习Java 中基本类型和字符串之间的转换在程序开发中,我们经常需要在基本数据类型和字符串之间进行转换。

其中,基本类型转换为字符串有三种方法:1. 使用包装类的 toString() 方法2. 使用String类的 valueOf() 方法3. 用一个空字符串加上基本类型,得到的就是基本类型数据对应的字符串再来看,将字符串转换成基本类型有两种方法:1. 调用包装类的 parseXxx 静态方法2. 调用包装类的 valueOf() 方法转换为基本类型的包装类,会自动拆箱PS:其他基本类型与字符串的相互转化这里不再一一列出,方法都类似任务在编辑器中完成了基本类型和字符串之间的转换。

运行结果为:请将 6、12 行代码填写完整publicclass Test6 {/*** @param args* Java 中基本类型和字符串之间的转换*/publicstaticvoid main(String[] args) {double m = 78.5;//将基本类型转换为字符串String str1 = String.valueOf(m);System.out.println("m 转换为String型后与整数20的求和结果为:"+(str1+20));String str = "180.20";// 将字符串转换为基本类型double a =Double.valueOf(str);System.out.println("str 转换为double型后与整数20的求和结果为:"+(a+20));}}使用Date 和SimpleDateFormat 类表示时间在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类。

这个类最主要的作用就是获取当前时间,我们来看下 Date 类的使用:使用 Date 类的默认无参构造方法创建出的对象就代表当前时间,我们可以直接输出 Date 对象显示当前的时间,显示的结果如下:其中, Wed 代表 Wednesday (星期三), Jun 代表 June (六月), 11 代表 11 号, CST 代表 China Standard Time (中国标准时间,也就是北京时间,东八区)。

深入理解Java常用类-----时间日期

深⼊理解Java常⽤类-----时间⽇期除了String这个类在⽇常的项⽬中⽐较常⽤之外,有关时间和⽇期的操作也是经常遇到的,本篇就讲详细介绍下Java API中对时间和⽇期的⽀持。

其实在Java 8之前时间⽇期的API并不是很好⽤,以⾄于⼈们在项⽬中⼤多使⽤的是⼀个第三⽅库 Joda-Time,当然Java 8 吸收了该库的⼤部分优点,改进了相关API,现在的时间⽇期处理接⼝相对以前来说是好⽤很多,本篇也将学习下这个优秀的第三⽅库。

下⾯是本篇主要涉及内容:古⽼的Date类处理年⽉⽇的年历类Calendar格式化字符串和⽇期对象的DateFormat格式转换类好⽤的SimpleDateFormat实现类Joda-Time库⼀、古⽼的Date类Date这个类⾃jdk1.0开始就被设计出来,从它的源代码中我们也是可以看出来,Date类曾经扮演过很重要的⾓⾊,jdk早期的版本中有关⽇期和时间的操作⼏乎都是由Date类完成的,下⾯我们⼀起看看它的源码:private transient long fastTime;⾸先Date中有封装⼀个long类型的变量,这个变量是整个时间⽇期操作的对象,也就是我们使⽤该变量代表时间和⽇期。

下⾯说明它是如何表⽰时间和⽇期的。

所有计算机中的时间都是⽤⼀个整数表⽰的,该整数的值代表的是距离格林尼治标准时间(1970年1⽉1⽇0时0分0秒)的毫秒数,也就是说fastTime值为1000的时候代表时间为1970年1⽉1⽇0时0分1秒。

⾄于为什么是这个时间,由于种种历史原因⼤家也可以去了解下,此处不再赘述。

由于该类中⼤部分⽅法都被注解了@Deprecated,已经不再推荐使⽤了,所以接下来我们主要还是看看其中还保留着的⽅法。

只剩下两个构造⽅法:public Date(long date) {fastTime = date;}public Date() {this(System.currentTimeMillis());}只推荐使⽤上述两个构造⽅法来构造我们的Date对象,⼀个是默认⽆参构造器(内部调⽤本地函数获取系统当前时间计算与标准时间的毫秒差值),另⼀个则需要⼿动传⼊⼀个毫秒值构造Date对象。

java笔记

Java学习笔记(讲师:韩顺平)整理:reamd1、先建一个工程——>包——>类2、java中类名首字母大写方法名的首字母是小写的①匈牙利法:myCode②下划线法:my_code3.先设计类 然后根据类创建对象实例化一个开辟一个内存设计类的过程class 类名{};设计类的属性时,尽量带着private的控制访问符号,如需要访问类私有的属性,可通过构造一个公共的方法去给予外界一定的访问权。

(1)构造方法,在建立一个新的对象时会自动调用构造方法初始化成员属性。

(注:若类的形式为:class Clerk{int age;};则构造函数的形式为public Clerk(int age){ this.age=age;};)(2)类方法:public static int total() {方法语句;}4. this指向一个对象,而不是类this只能在类定义中用5.(1)static int a;a称为静态变量或类变量,因此其可以被任何一个变量访问;因此它不是任何一个实例所共有的6.java面向对象语言的三大特征:封装、继承、多态。

(可附加:抽象)(1)封装:访问控制符Public 对外公开Protected 对子类和同一个包公开默认向同一个包公开private 只有类本身才可以访问(2)能够继承的访问控制为:Public protected 默认(3)方法的重载方法的名称相同、方法的参数不同。

方法的覆盖:方法的名称相同就把父类覆盖了。

不能把父类方法的访问权限缩小。

(4)多态大类下创建实例,能够自动识别。

7.抽象类,接口,final(1)抽象类:用abstract关键字来修饰一个类,抽象方法不能有主体。

(2)接口:interface 接口名class 类名implements 接口名Implement实现原则:当一个接口实现了,就要求实现接口中的所有方法。

原则:接口不能被实例化;接口中的所有方法不能有主体,(3)final 修饰不希望被他人修改的父类的属性和方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第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_1
{
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.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类
在编写程序时,可能需要计算一个数的平方根、绝对值、获取一个随机数等。

ng包中的类包含许多用来进行科学计算的类方法,这些方法可以直接通过类名调用另外,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)//设置最少有几位整数位。

相关文档
最新文档