JAVA中常用的日期转换

JAVA中日期时间的使用

主要记录工作中经常碰到的日期相关操作,本文包含的内容:

  • 日期的类型与转换
  • 日期的比较
  • 获取当前日期

一、日期的类型与转换

日期类型

  • 日期型
  • 时间戳

时间戳类型是指Long类型,代表1970年1月1日0时0分0秒开始到该对应日期所经过的毫秒数

日期转换为字符串

字符串格式
格式变量定义示例值
“yyyy-MM-dd HH:mm:ss”SPLIT_PATTERN_DATETIME2017-09-01 09:45:10
“yyyy-MM-dd”SPLIT_PATTERN_DATE2017-09-01
“yyyy/MM/dd”SPLIT_PATTERN_DATE22017/09/01
“yyyyMMdd”TIGHT_PATTERN_DATE20170901
“yyyy-MM”SPLIT_PATTERN_MONTH2017-09
“yyyyMMddHHmmss”TIGHT_PATTERN_DATETIME20170901094510
“HH:mm:ss”SPLIT_PATTERN_TIME09:45:10
“HHmmss”TIGHT_PATTERN_TIME094510
代码示例
    Calendar calendar = Calendar.getInstance();
    Date date1 = calendar.getTime();// 获取系统当前日期
    System.out.println(formate(date1, SPLIT_PATTERN_DATETIME));// 2017-09-01 09:45:10
format函数
    // format函数定义
    public static String formate(Date date, String pattern) {
        if(date==null){
            return "";
        }
           return new SimpleDateFormat(pattern).format(date);
    }  

字符串转换为日期

    String dateStr = "20170901094510";
    Date date3 = parse(dateStr,TIGHT_PATTERN_DATETIME);  // pattern 要与 dateStr对应上
    System.out.println(formate(date3, SPLIT_PATTERN_DATETIME));
parse函数
    public static Date parse(String date, String pattern) {
        try {
            return new SimpleDateFormat(pattern).parse(date);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return null;
    }

时间戳转换为日期

Long timestamp = Calendar.getInstance().getTimeInMillis();//1504230310000
Date date4 = new Date(timestamp);
System.out.println(date4);//Fri Sep 01 09:45:10 CST 2017
System.out.println(formate(date4, SPLIT_PATTERN_DATETIME));//2017-09-01 09:45:10

小结:

  • 利用java.text.SimpleDateFormat 可以方便的对日期及字符串进行相互转换
  • 获取时间戳的方式:
Long timestamp1 = new Date().getTime();
Long timestamp2 = Calendar.getInstance().getTimeInMillis();
  • 获取日期
Date date4 = new Date(timestamp);//时间戳转换为日期
Date date = new Date();//这样是用当前时间创建了日期

二、日期的比较

Date date3 = parse("20170901094510",TIGHT_PATTERN_DATETIME);
Long timestamp = Calendar.getInstance().getTimeInMillis();
Date date4 = new Date(timestamp);
/*date3先于date4*/
System.out.println(date3.before(date4));// true
System.out.println(date3.equals(date4));// false
System.out.println(date4.after(date3));// true
System.out.println(date4.compareTo(date3)); // 1

三、获取当前日期

Calendar rightNow = Calendar.getInstance();
Date date1 = rightNow.getTime();
Date date2 = new Date();

总结

以上记录了日常日期相关的操作,总结才能对使用到的知识更加熟练。
文章参考了:http://blog.csdn.net/jediael_lu/article/details/43852043

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值