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);
相关推荐
天天摸鱼的java工程师8 分钟前
如何设计一个用户签到系统,支持连续签到统计?
java·后端
晨曦5432109 分钟前
针对经济学大数据的 Python 爬虫实践指南
开发语言·爬虫·python
上位机付工10 分钟前
C#上位机实现报警语音播报
开发语言·c#·上位机·plc·运动控制卡·语音播报·报警播报
千千道14 分钟前
QT 中使用 QSettings 读写 ini 配置文件
开发语言·qt
海海不掉头发27 分钟前
【2025 年】软件体系结构考试试卷-期末考试
java·服务器·软件体系结构
智_永无止境39 分钟前
集合的处理:JDK和Guava孰强孰弱?
java·jdk·集合·guava
benben0441 小时前
Unity3D仿星露谷物语开发67之创建新的NPC
开发语言·游戏·ui·c#·游戏引擎
matdodo1 小时前
【大数据】java API 进行集群间distCP 报错unresolvedAddressException
java·大数据·开发语言
Java技术小馆1 小时前
利用DeepWiki高效阅读项目源码
java·后端·面试
老一岁1 小时前
c++set和pair的使用
开发语言·c++