Java中的日期、时间操作

每次在处理日期时间的时候都要打开chrome查找一番,索性自己找一下满意的记录下来。

一、时间格式

// hh表示12小时制; HH表示24小时制
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss aa");

二、获取当前时间及Date转为String

1. 用Calendar

Calendar cal = Calendar.getInstance();
// 直接获取全部
System.out.println(format1.format(cal.getTime()));
// 也可以获取各个分量
int Y, m, d, h, M, s;
Y = cal.get(Calendar.YEAR);
m = cal.get(Calendar.MONTH); // 注意这里是从0开始数的,要加1
d = cal.get(Calendar.DATE);
h = cal.get(Calendar.HOUR_OF_DAY); // 此处为24小时制;直接写HOUR就是12小时制
M = cal.get(Calendar.MINUTE);
s = cal.get(Calendar.SECOND);
System.out.println(Y + " 年 " + (m + 1) + " 月 " + d + " 日 " + h + " 时 " + M + " 分 " + s + " 秒.");    

2. 用Date

Date date = new Date();
System.out.println(format1.format(date));
// Java标准格式输出时间
System.out.println(date.toString());

三、String转为Date格式

与format相反的操作为parse

SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd");
String str1 = "2019-05-10";
String str2 = "2019-04-29";
Date date1 = null, date2 = null;

try {
    date1 = df1.parse(str1);
    date2 = df1.parse(str2);
} catch (Exception e) {
    System.out.println("Unparseable using " + df1);
}

四、时间比较

1. 使用getTime()转化为自1970年1月1日午夜十二时起已经过的毫秒数来比较

public static boolean compare1(Date date1, Date date2) {
    long d1 = date1.getTime();
    long d2 = date2.getTime();
    if (d1 > d2)
        return true;
    return false;
}

2. 使用内置函数before  after  equals

System.out.println(date1.after(date2));

转载于:https://www.cnblogs.com/ben-future/p/10872634.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值