常见的日期时间格式的处理操作

1、string 类型与date类型互转

1.1 String 转Date

public static void main(String args[]) {
    // 转年月日格式
    SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd ");
    // 转年月日时分秒格式
    SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String s = "2024-07-09 12:15:36";
    try {
        Date date1 = formatter1.parse(s);// Tue Jul 09 00:00:00 CST 2024
        Date date2 = formatter2.parse(s);// Tue Jul 09 12:15:36 CST 2024
    } catch (ParseException e) {
        e.printStackTrace();
    }
}

1.2 Date转String

 public static void main(String args[]) {
        // 转年月日格式
        SimpleDateFormat formatter1 = new SimpleDateFormat("yyyy-MM-dd ");
        // 转年月日时分秒格式
        SimpleDateFormat formatter2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date date = new Date();
        String date1 = formatter1.format(date); // 2024-02-05
        String date2 = formatter2.format(date);// 2024-02-05 10:41:56
    }

2、24小时制转12小时制度

常见标准的写法"yyyy-MM-dd HH:mm:ss",注意大小写,时间是24小时制,24小时制转换成12小时制只需将HH改成hh。

public static void main(String args[]) {
    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String s = "2024-04-28 13:14:52";
    Date date = null;
    try {
         date = formatter.parse(s);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    // 24时制-2024-04-28 13:14:52
    SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    // 12时制-2024-04-28 01:14:52
    SimpleDateFormat dateFormat2 = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");

    String date1 = dateFormat1.format(date);
    String date2 = dateFormat2.format(date);
 }

3、给指定时间进行增加或减少

3.1 加1秒或1分钟

public static void main(String args[]) {
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date date = new Date();
    date.setTime(date.getTime() + 1000);
    System.out.println("当前时间:" + df.format(new Date()));//2024-02-05 10:50:58
    System.out.println("加一秒:" + df.format(date));//2024-02-05 10:50:59 
    date.setTime(date.getTime() + 60 * 1000);
    System.out.println("加一分:" + df.format(date));//2024-02-05 10:51:59
}

4、两个时间之间的比较

4.1 用getTime()方法比较毫秒数

public static void main(String args[]) {
    Date date1 = new Date();
    Date date2 = new Date();
    date2.setTime(new Date().getTime() + 1000);
    Long time1 = date1.getTime();
    Long time2 = date2.getTime();
    if (time1 > time2) {
        System.out.println("time1大于time2");
    } else if (time1 < time2) {
        System.out.println("time1小于time2");// 输出此结果
    } else if (time1 == time2) {
        System.out.println("time1等于time2");
    }
}

4.2 用compareTo()方法
比较当调用此方法的Date对象和指定日期。两者相等时候返回0。调用对象在指定日期之前则返回负数。调用对象在指定日期之后则返回正数。(前比后,大为正)

public static void main(String args[]) {
    Date date1 = new Date();
    Date date2 = new Date();
    date2.setTime(new Date().getTime() + 1000);
    if (date1.compareTo(date2) > 0) {
        System.out.println("time1大于time2");
    } else if (date1.compareTo(date2) < 0) {
        System.out.println("time1小于time2");// 输出此结果
    } else if (date1.compareTo(date2) == 0) {
        System.out.println("time1等于time2");
    }
}

5、获取日期的年份或月份

public static void main(String args[]) {
    ZoneId timeZone = ZoneId.systemDefault();
    Date date = new Date();
    LocalDate localDate = date.toInstant().atZone(timeZone).toLocalDate();
    System.out.println("年份为:" + localDate.getYear()); // 2024(int类型)
    System.out.println("月份为:" + localDate.getMonthValue()); // 2(int类型)
}

你可能感兴趣的:(7-日常工作总结,java,前端,数据库)