• 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));
    
  • 相关阅读:
    hdu3709(数位dp)
    2012天津E题
    2012天津C题
    hdu1754(splay)
    赤裸裸的splay平衡树
    hdu(预处理+线段树)
    uva11922(强行用rope替代spaly)
    lightoj 1370 欧拉函数
    poj3294 出现次数大于n/2 的公共子串
    poj2774 后缀数组2个字符串的最长公共子串
  • 原文地址:https://www.cnblogs.com/ben-future/p/10872634.html
Copyright © 2020-2023  润新知