美文网首页
Java 基础 32 Date类和SimpleDateForma

Java 基础 32 Date类和SimpleDateForma

作者: 小熊先生很不开心 | 来源:发表于2018-02-02 20:27 被阅读8次

1.1 Date 类的概述和构造方法

  • Date:
    • Date表示特定的瞬间,精确到毫秒。
  • 构造方法:
    • Date():根据当前时间创建的日期对象
    • Date(long date):
      根据给定的毫秒值创建对象,从1970 年 1 月 1 日 00:00:00

1.1.1案例代码

package com.itheima;

import java.util.Date;

/*
 * Date:Date表示特定的瞬间,精确到毫秒。
 * 
 * 构造方法:
 *      Date():根据当前时间创建的日期对象
 *      Date(long date):根据给定的毫秒值创建对象,从1970 年 1 月 1 日 00:00:00 
 */
public class DateDemo {
    public static void main(String[] args) {
        //Date()
        Date d = new Date();
        System.out.println(d);
        
        //Date(long date) 
        long date = 1000 * 60 * 60;
        Date dd = new Date(date);
        System.out.println(dd);
    }
}

1.2 Date类的成员方法getTime()和setTime()

成员方法:

  • public long getTime():
    • 获取的是毫秒值。从1970年1月1日 00:00:00开始的。
  • public void setTime(long time):
    • 设置时间,给的是毫秒值。
从Date得到一个毫秒值:
        getTime()
从一个毫秒值得到一个Date对象
        构造方法
        setTime(long time)

1.2.1 案例代码


package com.itheima;

import java.util.Date;

/*
 * public long getTime():获取的是毫秒值。从1970年1月1日 00:00:00开始的。
 * public void setTime(long time):设置时间,给的是毫秒值。
 * 
 * 从Date得到一个毫秒值:
 *      getTime()
 * 
 * 从一个毫秒值得到一个Date对象
 *      构造方法
 *      setTime(long time)
 */
public class DateDemo2 {
    public static void main(String[] args) {
        //创建对象
        Date d = new Date();
        
        //public long getTime()
        System.out.println(d.getTime());
        
        //public void setTime(long time)
        d.setTime(1000*60*60);
        System.out.println(d.getTime());
    }
}

1.3 SimpleDateFormat类的概述和使用

  • SimpleDateFormat:

  是一个以与语言环境有关的方式来格式化和解析日期的具体类。

它允许进行格式化(日期 -> 文本)、解析(文本 -> 日期)

  • 格式化(日期 -> 文本): Date -- String public final String format(Date date)
  • 解析(文本 -> 日期): String -- Date public Date parse(String source)

1.3.1案例代码

package com.itheima_01;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/*
 * 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(): 用默认的模式
        //SimpleDateFormat sdf = new SimpleDateFormat();
        //SimpleDateFormat(String pattern):用给定的模式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
        String s = sdf.format(d);
        //现在虽然实现了把日期格式化成一个字符串,但是不是我们想要的格式
        //我们想要的格式是:xxxx年xx月xx日 xx:xx:xx
        System.out.println(s);
        */
        
        //String -- Date
        String str = "2080-08-08 12:23:45";
        //把一个字符串解析为日期的时候,请注意模式字符串和给定的日期字符串的格式要匹配
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date d = sdf.parse(str);
        System.out.println(d);
    }
}

1.4 Date的练习之日期工具类的定义和使用

1.4.1 制作工具类DateUtil

1.4.1.1 案例代码


package com.itheima;

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

/*
 * 工具类
 * 
 * 构造方法私有
 * 成员方法静态
 */
public class DateUtil {
    private DateUtil() {}
    
    /*
     * 把日期转换为指定格式的字符串
     * 两个明确:
     *      返回值类型:String
     *      参数列表:Date date, String format
     */
    public static String dateToString(Date date, String format) {
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        String s = sdf.format(date);
        return s;
    }
    
    /*
     * 把指定格式的字符串解析为日期
     * 两个明确:
     *      返回值类型:Date
     *      参数列表:String s, String format
     */
    public static Date stringToDate(String s,String format) throws ParseException {
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        Date d= sdf.parse(s);
        return d;
    }
}

1.4.2 测试工具类

package com.itheima;

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

public class DateUtilTest {
    public static void main(String[] args) throws ParseException {
        Date d = new Date();
        
        String s = DateUtil.dateToString(d, "yyyy年MM月dd日 HH:mm:ss");
        System.out.println(s);
        
        String s2 = DateUtil.dateToString(d, "yyyy年MM月dd日");
        System.out.println(s2);
        
        String s3 = DateUtil.dateToString(d, "HH:mm:ss");
        System.out.println(s3);
        
        String str = "2080-08-08 12:23:34";
        Date dd = DateUtil.stringToDate(str, "yyyy-MM-dd HH:mm:ss");
        System.out.println(dd);
    }
}

相关文章

  • Java 基础 32 Date类和SimpleDateForma

    1.1 Date 类的概述和构造方法 Date:Date表示特定的瞬间,精确到毫秒。 构造方法:Date():根据...

  • Date & Canlender

    Date类: SimpleDateForma类: Calendar 类: 示例:获取昨天的开始时间的毫秒数和结束时...

  • JavaScript Date

    ECMAScript的Date类型是在早期Java中的java.util.Date类基础上构建的。所以,Date类...

  • JS Date类型

    Date类型 ECMAScript中的Date类型是在早期Java中的JAVA.util.Date类基础上构建的。...

  • Java SE 2

    Java SE 1.Date 和 DateFormat Date类及常用方法 java.util.Date 类用于...

  • 《Oracle Java SE编程指南》19-04:时间、日期和

    内容导航: 前言 1、时间、日期和日历 2、Date 3、DateFormat 4、SimpleDateForma...

  • 第五章(2):Date

    Date 类型 ECMAScript中的Date类型是在早期的java.util.Date类基础上建立的。Date...

  • Java自学-日期 Date

    Java的日期类Date Date类注意:是java.util.Date;而非 java.sql.Date,此类是...

  • JAVA时间

    Date类 java.util提供了Date类来封装日期和时间。 Date();--当前时间Date(long m...

  • 日期与时间

    Java中日期与时间API - Date类 什么是Date类 java.util.Date类是java中可以表示时...

网友评论

      本文标题:Java 基础 32 Date类和SimpleDateForma

      本文链接:https://www.haomeiwen.com/subject/sptyzxtx.html