【JavaSE】Java基础语法(二十四):时间日期类

简介: 1. Date类计算机中时间原点1970年1月1日 00:00:00时间换算单位1秒 = 1000毫秒Date类概述Date 代表了一个特定的时间,精确到毫秒Date类构造方法

1. Date类

  • 计算机中时间原点
    1970年1月1日 00:00:00
  • 时间换算单位
    1秒 = 1000毫秒
  • Date类概述
    Date 代表了一个特定的时间,精确到毫秒
  • Date类构造方法

b81cce955b364d45b1ea9fb8c3ff2221.png

  • 示例代码
public class DateDemo01 {
  public static void main(String[] args) {
    //public Date():分配一个 Date对象,并初始化,以便它代表它被分配的时间,精确到
    毫秒
    Date d1 = new Date();
    System.out.println(d1);
    //public Date(long date):分配一个 Date对象,并将其初始化为表示从标准基准时
    间起指定的毫秒数
    long date = 1000*60*60;
    Date d2 = new Date(date);
    System.out.println(d2);
  }
}

2. Date类常用方法

  • 常用方法

216c4041d8d24d6eadbf2ee2134c4bd2.png

  • 示例代码
public class DateDemo02 {
  public static void main(String[] args) {
    //创建日期对象
    Date d = new Date();
    //public long getTime():获取的是日期对象从1970年1月1日 00:00:00到现在的毫
    秒值
    // System.out.println(d.getTime());
    // System.out.println(d.getTime() * 1.0 / 1000 / 60 / 60 / 24 / 365 +
    "年");
    //public void setTime(long time):设置时间,给的是毫秒值
    // long time = 1000*60*60;
    long time = System.currentTimeMillis();
    d.setTime(time);
    System.out.println(d);
  }
}

3. SimpleDateFormat类(应用)

  • SimpleDateFormat类概述
    SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。
    我们重点学习日期格式化和解析
  • SimpleDateFormat类构造方法

7f4614ca64644c1cbdba7ffd07cef738.png

SimpleDateFormat类的常用方法


格式化(从Date到String)

public final String format(Date date):将日期格式化成日期/时间字符串

解析(从String到Date)

public Date parse(String source):从给定字符串的开始解析文本以生成日期

  • 示例代码
public class SimpleDateFormatDemo {
  public static void main(String[] args) throws ParseException {
    //格式化:从 Date 到 String
    Date d = new Date();
    // SimpleDateFormat sdf = new SimpleDateFormat();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日
    HH:mm:ss");
    String s = sdf.format(d);
    System.out.println(s);
    System.out.println("--------");
    //从 String 到 Date
    String ss = "2048-08-09 11:11:11";
    //ParseException
    SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date dd = sdf2.parse(ss);
    System.out.println(dd);
  }
}

相关文章
|
4天前
|
Java 编译器 ice
【Java开发指南 | 第十五篇】Java Character 类、String 类
【Java开发指南 | 第十五篇】Java Character 类、String 类
24 1
|
2天前
|
自然语言处理 Java API
Java 8的Stream API和Optional类:概念与实战应用
【5月更文挑战第17天】Java 8引入了许多重要的新特性,其中Stream API和Optional类是最引人注目的两个。这些特性不仅简化了集合操作,还提供了更好的方式来处理可能为空的情况,从而提高了代码的健壮性和可读性。
24 7
|
3天前
|
设计模式 算法 Java
Java的前景如何,好不好自学?,万字Java技术类校招面试题汇总
Java的前景如何,好不好自学?,万字Java技术类校招面试题汇总
|
4天前
|
安全 Java 开发者
Java一分钟之-文件与目录操作:Path与Files类
【5月更文挑战第13天】Java 7 引入`java.nio.file`包,`Path`和`Files`类提供文件和目录操作。`Path`表示路径,不可变。`Files`包含静态方法,支持创建、删除、读写文件和目录。常见问题包括:忽略异常处理、路径解析错误和权限问题。在使用时,注意异常处理、正确格式化路径和考虑权限,以保证代码稳定和安全。结合具体需求,这些方法将使文件操作更高效。
11 2
|
4天前
|
Java API
Java一分钟之-Java日期与时间API:LocalDate, LocalDateTime
【5月更文挑战第13天】Java 8引入`java.time`包,改进日期时间API。`LocalDate`代表日期,`LocalDateTime`包含日期和时间。本文概述两者的基本用法、常见问题及解决策略。创建日期时间使用`of()`和`parse()`,操作日期时间有`plusDays()`、`minusMonths()`等。注意点包括:设置正确的`DateTimeFormatter`,考虑闰年影响,以及在需要时区信息时使用`ZonedDateTime`。正确使用这些类能提升代码质量。
12 3
|
4天前
|
安全 Java 开发者
Java一分钟之-Optional类:优雅处理null值
【5月更文挑战第13天】Java 8的`Optional`类旨在减少`NullPointerException`,提供优雅的空值处理。本文介绍`Optional`的基本用法、创建、常见操作,以及如何避免错误,如直接调用`get()`、误用`if (optional != null)`检查和过度使用`Optional`。正确使用`Optional`能提高代码可读性和健壮性,建议结合实际场景灵活应用。
21 3
|
4天前
|
存储 Java 索引
【Java开发指南 | 第十六篇】Java数组及Arrays类
【Java开发指南 | 第十六篇】Java数组及Arrays类
10 3
|
3天前
|
缓存 安全 Java
7张图带你轻松理解Java 线程安全,java缓存机制面试
7张图带你轻松理解Java 线程安全,java缓存机制面试
|
1天前
|
Java
深入理解Java并发编程:线程池的应用与优化
【5月更文挑战第18天】本文将深入探讨Java并发编程中的重要概念——线程池。我们将了解线程池的基本概念,应用场景,以及如何优化线程池的性能。通过实例分析,我们将看到线程池如何提高系统性能,减少资源消耗,并提高系统的响应速度。
11 5
|
1天前
|
消息中间件 安全 Java
理解Java中的多线程编程
【5月更文挑战第18天】本文介绍了Java中的多线程编程,包括线程和多线程的基本概念。Java通过继承Thread类或实现Runnable接口来创建线程,此外还支持使用线程池(如ExecutorService和Executors)进行更高效的管理。多线程编程需要注意线程安全、性能优化和线程间通信,以避免数据竞争、死锁等问题,并确保程序高效运行。