Java中的日期、时间操作

ゞ 浴缸里的玫瑰 2021-11-27 04:56 428阅读 0赞

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

一、时间格式

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

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

1. 用Calendar

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

2. 用Date

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

三、String转为Date格式

与format相反的操作为parse

  1. SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd");
  2. String str1 = "2019-05-10";
  3. String str2 = "2019-04-29";
  4. Date date1 = null, date2 = null;
  5. try {
  6. date1 = df1.parse(str1);
  7. date2 = df1.parse(str2);
  8. } catch (Exception e) {
  9. System.out.println("Unparseable using " + df1);
  10. }

四、时间比较

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

  1. public static boolean compare1(Date date1, Date date2) {
  2. long d1 = date1.getTime();
  3. long d2 = date2.getTime();
  4. if (d1 > d2)
  5. return true;
  6. return false;
  7. }

2. 使用内置函数before after equals

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

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

发表评论

表情:
评论列表 (有 0 条评论,428人围观)

还没有评论,来说两句吧...

相关阅读