Date和SimpleDateFormat常用API

简介: Date和SimpleDateFormat常用API

Date:

(1)定义

  特定的瞬间,精确到毫秒。

(2)构造方法

  Date():根据当前的默认毫秒值创建日期对象

  Date(long date):根据给定的毫秒值创建日期对象

(3)常用API

  public long getTime()

获取时间,以毫秒为单位

  public void setTime(long time)

设置时间

eg:

public class DateDemo {
  public static void main(String[] args) {
    // 创建对象
    Date d = new Date();

    // 获取时间
    long time = d.getTime();
    System.out.println(time);
    // System.out.println(System.currentTimeMillis());

    System.out.println("d:" + d);
    // 设置时间
    d.setTime(1000);
    System.out.println("d:" + d);
  }
}

SimpleDateFormat

(1)定义

  DateForamt:可以进行日期和字符串的格式化和解析,但是由于是抽象类,所以使用具体子类SimpleDateFormat。

(2)构造方法

  SimpleDateFormat():默认模式

  SimpleDateFormat(String pattern):给定的模式

这个模式字符串该如何写呢?

通过查看API,我们就找到了对应的模式

年 y

月 M

日 d

时 H

分 m

秒 s

(3)Date和SimpleDateFormat类型转换

  Date – String(格式化)

  public final String format(Date date)

**

   String – Date(解析)

  public Date parse(String source)

eg:

public class DateFormatDemo {
  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");
    // public final String format(Date date)
    String s = sdf.format(d);
    System.out.println(s);
    
    
    //String -- Date
    String str = "2008-08-08 12:12:12";
    //在把一个字符串解析为日期的时候,请注意格式必须和给定的字符串格式匹配
    SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date dd = sdf2.parse(str);
    System.out.println(dd);
  }
}

一个例题:算一下从出生到现在活了多少天

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class Demo6 {
    public static void main(String[] args) throws ParseException {
        //录入出生年月日
        Scanner sc = new Scanner(System.in);
        System.out.println("输入出生年");
        String year = sc.nextLine();
        System.out.println("输入出生月");
        String month = sc.nextLine();
        System.out.println("输入出生日");
        String date = sc.nextLine();
        //将录入的年月日拼接成 yyyy-MM-dd 模板
        String time = year + "-" + month + "-" + date;
        //创建 yyyy-MM-dd 模板的SimpleDateFormat对象sd
        SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
        //将 SimpleDateFormat 自定义的时间戳 转换为Date类型的时间戳
        Date d = sd.parse(time);
        //获取毫秒数
        long start = d.getTime();
        //获取当前时间
        long end = new Date().getTime();
        //计算天数
        long t = (end -start)/1000/60/60/24;
        System.out.println(t);
    }
}

目录
相关文章
|
27天前
|
安全 Java API
告别SimpleDateFormat:Java 8日期时间API的最佳实践
在Java开发中,处理日期和时间是一个基本而重要的任务。传统的`SimpleDateFormat`类因其简单易用而被广泛采用,但它存在一些潜在的问题,尤其是在多线程环境下。本文将探讨`SimpleDateFormat`的局限性,并介绍Java 8引入的新的日期时间API,以及如何使用这些新工具来避免潜在的风险。
34 5
|
3月前
|
安全 Java API
时间日期API(Date,SimpleDateFormat,Calendar)+java8新增日期API (LocalTime,LocalDate,LocalDateTime)
这篇文章介绍了Java中处理日期和时间的API,包括旧的日期API(Date、SimpleDateFormat、Calendar)和Java 8引入的新日期API(LocalTime、LocalDate、LocalDateTime)。文章详细解释了这些类/接口的方法和用途,并通过代码示例展示了如何使用它们。此外,还讨论了新旧API的区别,新API的不可变性和线程安全性,以及它们提供的操作日期时间的灵活性和简洁性。
|
6月前
|
Java API
JavaSE——常用API进阶二(3/8)-Date、SimpleDateFormat(构造器、常用的方法、用法示例、时间格式的常见符号)
JavaSE——常用API进阶二(3/8)-Date、SimpleDateFormat(构造器、常用的方法、用法示例、时间格式的常见符号)
29 1
|
Java API
Java常用API(三)Date,DateFormat和Calendar
Java常用API(三)Date,DateFormat和Calendar
83 0
|
SQL 存储 分布式计算
【Java新特性学习 四】JDK8: 库函数新特性之Optional,Streams,Date/Time API(JSR 310),Base64,并行数组
【Java新特性学习 四】JDK8: 库函数新特性之Optional,Streams,Date/Time API(JSR 310),Base64,并行数组
81 0
|
大数据 API Java
大数据基础之java常用API二(数组元素排序,冒泡排序、Arrays类,包装类,Date类)
大数据基础之java常用API二(数组元素排序,冒泡排序、Arrays类,包装类,Date类)
190 0
大数据基础之java常用API二(数组元素排序,冒泡排序、Arrays类,包装类,Date类)
|
存储 算法 搜索推荐
详讲Java开发中的六个常用API(Math,System,Object,Integer,Date)(一)
详讲Java开发中的六个常用API(Math,System,Object,Integer,Date)(一)
155 0
详讲Java开发中的六个常用API(Math,System,Object,Integer,Date)(一)
|
Java API
详讲Java开发中的六个常用API(Math,System,Object,Integer,Date)(二)
详讲Java开发中的六个常用API(Math,System,Object,Integer,Date)(二)
126 0
详讲Java开发中的六个常用API(Math,System,Object,Integer,Date)(二)
|
SQL 安全 Java
Java 8 新特性:Java 类库的新特性之日期时间API (Date/Time API )
Java 8 新特性:Java 类库的新特性之日期时间API (Date/Time API )
229 0
Java 8 新特性:Java 类库的新特性之日期时间API (Date/Time API )
|
IDE Java API
还在用new Date计算任务执行时间?强烈建议使用这个API!
还在用new Date计算任务执行时间?强烈建议使用这个API!
162 0