1.日期打印Date类
java里面提供一个java.util.Date的类,它直接就表示当前系统的时间
例:
import java.util.Date;
public class Nice {
public static void main(String args[]) {
Date date = new Date();
System.out.println(date); //输出对象信息
}
}
//输出格式,不符合习惯:Sun Sep 11 21:00:00 CST 2016
先看下几个重要的构造方法:
无参构造: public Date();
有参构造: public Date(long date) //接收long型数据
转换为long型: public long getTime()
//Date与long间的转换
import java.util.Date;
public class Nice {
public static void main(String args[]) {
long cur = System.currentTimeMillis(); //取得当前日期时间以long形式返回
Date date = new Date() ;
System.out.println(date); //输出对象信息
System.out.println(date.getTime()); //输出对象信息
}
}
//结果有点奇怪,不过就是这样
2.日期格式化SimpleDateFormat(核心)
java.text是一个专门实现国际化程序的安装包,而SimpleDateFormat是一个专门处理格式化日期的工具类,能将Date型的对象转换为String型的形式表现出来
构造方法: public SimpleDateFormat(String pattern) //需要传递转换格式
将Date转换为String:public final String format(Date date);
将String转换为Date:public Date parse(String source) throws ParseException转换关键在于格式上,对于常见转换单位:年(yyyy)、月(MM)、日(dd)、时(HH)、分(mm)、秒(ss)、毫秒(SS)
例:
//将日期转换为字符串
import java.util.Date;
import java.text.SimpleDateFormat;
public class Nice {
public static void main(String args[]) {
Date date = new Date() ;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS") ;
String str = sdf.format(date) ; //将Date型变成String型
System.out.println(str) ;
}
}
//将字符串转换为日期
import java.util.Date;
import java.text.SimpleDateFormat;
public class Nice {
public static void main(String args[]) throws Exception{ //抛异常
String str = "2111-11-11 11:11:11.111" ;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS") ;
Date date = sdf.parse(str) ; //将字符串变成日期型数据
System.out.println(date) ;
}
}
//如果日期的月份不对,会自动进位
//如果字符串与我们要转换的格式不符合,那么就会有异常
3.日期计算 Calendar类
一般来说Calendar主要是进行一些简单的日期计算的,
Calendar类的定义:
public abstract class Calendar
extends Oobject
implement Serializable,Cloneable,Comparable< Calendar >这是一个抽象类,本来应该依靠进行对象的实例化操作,但是这个类里提供一个static方法,即: public static Calendar getInstance()
例:
import java.util.Calendar ;
public class Nice {
public static void main(String args[]) throws Exception{
Calendar cal = Calendar.getInstance() ; //取得本类对象
StringBuffer buf = new StringBuffer() ;
buf.append(cal.get(Calendar.YEAR)).append("-") ;
buf.append(cal.get(Calendar.MONTH) + 1).append("-") ;
buf.append(cal.get(Calendar.DAY_OF_MONTH)).append(" ") ;
buf.append(cal.get(Calendar.HOUR_OF_DAY)).append(":") ;
buf.append(cal.get(Calendar.MINUTE)).append(":") ;
buf.append(cal.get(Calendar.SECOND)).append("") ;
System.out.println(buf) ;
}
}
//可以输出当前的日期
上面的代码可以发现,若是进行日期的计算此类更方便
在想要计算的日期后面加上数字即可