Java实用类——操作日期和时间

Date类:

  • Date 位于java.util.Date类:表示日期和时间
  • SimpleDateFormat 位于 java.text.SimpleDateFormat类**:格式化日期类**
  • **parse方法:**将字符串转为日期类型
java 复制代码
 public static void main(String[] args) throws ParseException {
        //获得当前时间
        Date date = new Date();
        System.out.println(date);
        //创建格式化日期工具,并且指定格式
        SimpleDateFormat simpleDateFormat =
                new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        //这时候不能直接输出,需要转成String类型
        String strdate = simpleDateFormat.format(date);
        System.out.println("格式化后:"+strdate);
        //将字符串转为日期类型
        Date br = simpleDateFormat.parse("1991-12-31 01:01:01");
    }

创建了一个当前日期和时间的Date对象,并使用 **SimpleDateFormat****将日期和时间格式化为指定的字符串格式 ,**可以用String类型接收字符串。"yyyy-MM-dd HH-mm-ss"是一种规定好了的日期和时间格式

Calendar类:

Calendar类是一个抽象类 ,**可以通过静态方法getInstance()来获得Calendar的对象,**其实这个获得的对象是它子类的对象。

|-------------------------|--------------|
| int get(int field) 静态方法 | 返回给定日历字段的值 |
| YEAR | 年 |
| MONTH | 月 |
| DAY_OF_MONTH | 一月中的某天 |
| DAY_OF_WEEK | 一星期中的某天 |
| getInstance() | 获取Calendar对象 |

java 复制代码
  //因为这个getInstance()是静态常量,用来获取对象
        Calendar calendar = Calendar.getInstance();
//get方法用来从Calendar对象中获取特定的字段值  
        System.out.println("今天是:"+calendar.get(Calendar.YEAR)+
                           "年"+calendar.get(Calendar.MONTH)+
                           "月"+calendar.get(Calendar.DAY_OF_MONTH+1)+"日");

设置日期:

java 复制代码
 calendar.set(2015, Calendar.APRIL, 6); // 设置日期为2015年4月6日

获取代码运行时间:

System.currentTimeMillis();用long来接收,一个在程序头一个在程序尾就可以减出来运行花费的毫秒数

System.currentTimeMillis();返回从1970年1月1日00:00:00:000以来的毫秒数

java 复制代码
 public static void main(String[] args) {
//返回1970年1月1日00:00:00:000以来的毫秒数
        long l = System.currentTimeMillis();
        Calendar cal = Calendar.getInstance();
        System.out.println(Calendar.YEAR);
        System.out.println((Calendar.MONTH)+1);//0-11月所以需要+1
        System.out.println(Calendar.DATE);

        long l1 = System.currentTimeMillis();
        System.out.println("该程序运行的时间为(毫秒数):"+(l1-l));

    }

LocalDateTime(1.8新增的日期操作):

LocalDateTime :表示日期和时间,不包含时区信息

LocalDate:仅表示日期,不包含时间和时区信息

LocalTime:仅表示时间,不包含日期和时区信息

java 复制代码
       //当前日期
        LocalDate localDate = LocalDate.now();
        System.out.println("当前日期:"+localDate);
        
        //当前时间
        LocalTime localTime = LocalTime.now();
        System.out.println("当前时间"+localTime);
        
        //获取当前日期和时间
        LocalDateTime localDateTime = LocalDateTime.now();
        System.out.println("当前日期和时间:"+localDateTime);
格式化:
java 复制代码
String format = localDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
System.out.println("格式化后的日期"+format);
相关推荐
_小马快跑_36 分钟前
Java 的 8 大基本数据类型:为何是不可或缺的设计?
java
Re_zero3 小时前
线上日志被清空?这段仅10行的 IO 代码里竟然藏着3个毒瘤
java·后端
洋洋技术笔记3 小时前
Spring Boot条件注解详解
java·spring boot
程序员清风21 小时前
程序员兼职必看:靠谱软件外包平台挑选指南与避坑清单!
java·后端·面试
皮皮林5511 天前
利用闲置 Mac 从零部署 OpenClaw 教程 !
java
华仔啊1 天前
挖到了 1 个 Java 小特性:var,用完就回不去了
java·后端
SimonKing1 天前
SpringBoot整合秘笈:让Mybatis用上Calcite,实现统一SQL查询
java·后端·程序员
日月云棠2 天前
各版本JDK对比:JDK 25 特性详解
java
用户8307196840822 天前
Spring Boot 项目中日期处理的最佳实践
java·spring boot
JavaGuide2 天前
Claude Opus 4.6 真的用不起了!我换成了国产 M2.5,实测真香!!
java·spring·ai·claude code