Java编程那些事儿6_util包
Java编程那些事儿78——时间和日期处理
9.6 java.util包
java.util包是Java语言提供的工具类包,该包中包含了如日期、随机数和数据结构实现类等一系列的工具类实现,是学习Java语言的基础包之一。
9.6.1 时间和日期处理
使用程序进行时间和日期处理,是程序员必须的一种常用技能,在不同的程序设计语言中提供了不同的格式进行实现,现在就介绍一下Java语言中的实现方式,以及基本的应用,使得对于Java语言的时间和日期处理技术有比较全面的认识。
在程序中,某个固定的时间代表的都是一个时间点,也就是一个时间的瞬间,例如2009年3月8日15点50分0秒,在实际的应用中,经常需要对于两个时间进行比较或计算时间之间的差值,这些功能在Java语言中都可以很方便的实现。
在Java语言中,时间的表达单位是毫秒。也就是说,Java语言中的时间处理可以精确到毫秒。
在Java语言中,表达时间的方式有两种:
a、绝对时间。以直观的形式来表达某个时间点,例如2009年10月10号0点0分0秒。使用这种形式表达时间,使用起来比较直观,但是不方便进行时间之间的计算。例如无法很直观的计算2020年1月1号0点0分0秒和上面这个时间之间相差多少天。绝对时间以对象的形式进行表达,Java API中提供了java.util包中的Date类和Calendar类的对象进行表达。
b、相对时间。以一个long型的数字表达某个时间点。例如102847423468.使用这种方式的优缺点和绝对时间刚好相反。这种方式很方便时间之间的计算,但是阅读起来很不直观。在Java API中以需要表达的时间点,例如2009年10月10号0点0分0秒,和GMT(格林威治时间,也就是伦敦时间)1970年1月1号0点0分0秒之间相差的毫秒数作为相对时间的数值,如果该时间在这个时间只好,则相对时间为正数,否则相对时间为负数。Java API中提供了java.lang包中的System类的currentTimeMillis方法,获得以相对时间形式描述的当前系统时间。
在实际使用时,绝对时间和相对时间之间可以很方便的进行转换。
9.6.1.1 Date类
在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理。这里简单介绍一下Date类的使用。
相关文档:
代码如下:
1 String command = " cmd /c C:/Program Files/MySQL/MySQL Server 5.0/bin>mysqldump -h localhost -u root -p aijia > E:/aijia.dmp " ;
2 try {
3 Process process& ......
装饰器模式主要应用于这样一种场合,当你已经有了一个目标类,并且它是一个接口的实现类,在对该类使用的后期发现需要对相应接口程序的前后做更多的处理,这些处理是变化的,不固定的,但是有不能去修改这个目标类,这时我们就可以使用这个装饰器模式:
比如,我们已经有一个付款的方法 payMoney(long count) ,这个方法只 ......
2009年1月,某软件公司一则年薪十万招聘JAVA高级软件工程师的广告吸引了众多媒体和IT从业人员的目光,大家置疑的除了颇具吸引力的年薪之外,更多的是对该企业愿意聘请“有能力的应届毕业生”感到困惑。在大多数企业都强调工作经验的时候,该企业为什么愿意高额聘请应届毕业生呢?该企业负责人的一句看似简单的&ld ......
程序没什么含金量,高手莫笑。
package first;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.*;
import ......
public(公共访问控制):可以被所有类访问。
protected(保护访问控制):可以被这个类本身、它的子类(包括同一个包中以及不同包中的子类)和同一个包中的所有其他类访问。
default(友好访问控制):可以被这个类本身和同一个包中的其他类所访问。
private(私有访问控制):只能被该类自身访问和修改。 ......