Java 日期处理类

日期处理类

Date类

  • 当前日期时间 java.util.Date
import java.util.Date;

public class TestDemo {
    public static void main(String [] args) {
        Date date = new Date();
        System.out.println(date);
    }
}
  • 运行结果:
Sat Jun 29 21:56:04 CST 2019

上述的结果表示的就是当前的日期时间,为国际标准的格式;

当然我们可以使用其他格式输出日期时间

构造方法

  • 无参构造: public Date()

  • 有参构造: public Date(long date)
    • 接收 long 型数据,相当于把long数据转为Date
  • 转换为 long 型: public long getTime()
    • 将Date数据转为long型数据,便于格式化输出处理

system.currentTimeMillis() :取得当前的日期时间并以long型返回

import java.util.Date;

public class TestDemo {
    public static void main(String [] args) {
        long time = System.currentTimeMillis();// 取得系统时间        
        Date date = new Date( time );
        System.out.println(date);
        System.out.println(date.getTime());
    }
}
  • 运行结果:
Sat Jun 29 22:07:16 CST 2019
1561817236726

日期格式化*

SimpleDateFormat *

  • 包:java.text.SimpleDateFormat
    • 专门实现国际化开发的包
    • simpleDateFormat是专门处理日期格式的类,转换为String显示
  • 构造方法*:
    • public SimpleDateFormat(String pattern)
  • 将Date转换为String*:
    • public final String format( Date date )
  • 将String转换为Date*:
    • public Date parse(String source) throws ParseException

常见的转换格式单位

单位简写(使用)表示
yyyyyear
MMmonth
ddDay in month
HHHour in day(0~23)
mmMinute in hour
ssSecond in minute
毫秒SMillisecond

实例

日期格式的转换
  • 将Date数据转为 String型数据
import java.text.SimpleDateFormat;
import java.util.Date;

public class TestDemo {
    public static void main(String [] args) {
        Date date = new Date() ; 
        SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS");
        String str = SDF.format(date);
        // format: 将Date型数据变为 String型数据
        System.out.println(str);
    }
}
  • 运行结果:
2019-06-29 22:24:50:777

程序功能简单说:

首先是Date获取时间对象,通过 SimpleDateFormat类进行日期格式化,在然后通过 format()方法将日期格式转为输出String型。

字符串转为日期
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class TestDemo {
    public static void main(String [] args) throws ParseException {
        String str = "2012-12-25 00:00:00:000" ;
        SimpleDateFormat SDF = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS");
        Date date = SDF.parse(str) ; //将SDF(String型)转为Date型
        System.out.println(date);
    }
}
  • 运行结果:
Tue Dec 25 00:00:00 CST 2012

总结:

  • Date 与 String 类之间的转换依靠:SimpleDateFormat

  • String与基本数据类之间转换依靠:String。valueOf()

  • long 与 Date 转换依靠的是 Date 类提供的构造以及 getTime()

Calendar 类

  • 日期计算

  • Calendar是一个抽象类

import java.text.ParseException;
import java.util.Calendar;

public class TestDemo {
    public static void main(String [] args) throws ParseException {
        Calendar cal = Calendar.getInstance(); // 取得本类对象
        StringBuffer buf = new StringBuffer();
        // buf 依次 append 年 月 日 时 分 秒 毫秒
        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(":");
        buf.append(cal.get(Calendar.MILLISECOND));
        // 可以在append中,对日期时间进行计算操作
        System.out.println(buf);
    }
}

总结

  • 数据库中的日期型数据使用 java.uitl.Date 表示
  • 代码模型:SimpleDateFormat 类实现String与Date型数据的互相转换

转载于:https://www.cnblogs.com/wangyuyang1016/p/11108459.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值