Java学习提要——日期处理类

Java日期时间处理
本文介绍Java中日期时间处理的方法,包括使用Date类获取系统时间、利用SimpleDateFormat进行日期格式化及反格式化,以及通过Calendar类进行日期计算。

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) ;
    }
}
//可以输出当前的日期

上面的代码可以发现,若是进行日期的计算此类更方便
在想要计算的日期后面加上数字即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值