精华内容
下载资源
问答
  • Java Date类

    2018-12-04 23:29:31
    Java Date类1. java.util.Date类2. java.util.Date类的子类java.sql.Date3. Date类的API不易于国际化,大部分被废弃了4.demo 1. java.util.Date类 表示特定的瞬间,精确到毫秒 构造方法: ② Date( )使用Date...

    1. java.util.Date类

    表示特定的瞬间,精确到毫秒

    1. 构造方法:
      ② Date( )使用Date类的无参数构造方法创建的对象可以获取本地当前时间。
      ① Date(long date)
    2. 常用方法
      ① getTime():返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
      ② toString():把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat),zzz是时间标准。
      注:getMonth()方法需要加1

    2. java.util.Date类的子类java.sql.Date

    1. java.sql.Date类的构造器没有空参的构造器
    2. 日期格式类似于(1970-01-07),只有:年-月-日

    3. Date类的API不易于国际化,大部分被废弃了

    1. java.text.SimpleDateFormat类是一个不与语言环境有关的方式来格式化和解析日期的具体类。

    4.demo

    	@Test
    	public void test() {
    		
    		//java.sql.Date类的构造器没有空参的构造器
    		java.sql.Date d2= new java.sql.Date(91564311633L);
    		System.out.println(d2);//1970-01-07 时间只有年月日
    		
    		//创建一个Date实例
    		Date d1 = new Date();
    		System.out.println(d1.toString());
    		System.out.println(d1.getTime());//1543936749561		
    		Date d3 = new Date(1543936749561L);
    		System.out.println(d3);		
    	}
    
    展开全文
  • Date类与Calendar类

    2018-10-14 15:58:51
    一、Date类 1、认识Date类  java.util包下的Date类,Date对象既包含日期,该类从JDK1.0就开始有了,所以大部分的构造器和方法已经过时,编写时有时会报错。 Date类一共有6个构造器,其中4个已经Deprecated,剩余...

    一、Date类

    1、认识Date类

     java.util包下的Date类,Date对象既包含日期,该类从JDK1.0就开始有了,所以大部分的构造器和方法已经过时,编写时有时会报错。

    Date类一共有6个构造器,其中4个已经Deprecated,剩余两个如下:

    2、构造器

    Date():生成一个代表当前日期时间的Date对象,该构造器在底层调用System.currentTimeMillis()获得long整数作为日期参数。

    Date(long date):根据一个指定的long型整数来生成一个Date对象。参数表示将创建的Date对象和GMT 1970.1.1 00:00:00之间的时间差,单位毫秒。

    3、方法:

    boolean after(Date when): 测试该时期是否在指定日期when之后。

    boolean before(Date when) : 测试该日期是否在指定日期when之前。

    long getTime() : 返回该时间对应的long型整数,即从GMT 1970.1.1 00:00:00到该Date对象之间的时间差,单位毫秒。

    void setTime(long time) : 设置该Date对象的时间。

    compareTo(Date when) : 测试的Date在指定的Date之前返回小于0的数,之后,返回大于0的数,相等,返回0。

    4、java实现:

    import java.util.Date;
    
    public class DateTest {
        public static void main(String[] args){
            Date d1 = new Date();
            //获取当前时间之后1min的时间
            Date d2 = new Date(System.currentTimeMillis() + 10000*6);
            System.out.println(d1);
            System.out.println(d2);
            //测试的Date在指定的Date之前返回小于0的数,之后,返回大于0的数,相等,返回0
            System.out.println(d1.compareTo(d2));
            System.out.println(d1.before(d2));
            d1.setTime(d2.getTime());
            System.out.println(d1);
            System.out.println(d2);
        }
    }

    结果:

     

    二、Calendar类

    Calendar类和Date一样是获得日期的工具类,不过,Calendar类不允许实例化,只能通过封装好的静态方法getInstance()来获得Calendar对象。

    1、Calendar和Date可以自由转换

    import java.util.Calendar;
    import java.util.Date;
    
    public class CalendarToDate {
        public static void main(String[] args){
            //创建一个默认的Calendar对象
            Calendar calendar = Calendar.getInstance();
            //从Calendar对象中获得对应的Date对象
            Date date = calendar.getTime();
            System.out.println(date);
            System.out.println(calendar.getTime());
    //因为没有可以接收Date对象的Calendar构造器,无法用Calendar对象接收一个Date对象,
    //所以先获得Calendar的实例,在调用setTime()方法
            Calendar calendar2 = Calendar.getInstance();
            calendar2.setTime(date);
            System.out.println(date);
            System.out.println(calendar2.getTime());
        }
    }

    结果:

    2、Calendar的常规用法

    基本操作:

    Date getTime():获得Calendar代表的时间。

    void set(int field,int  value):将给定的日历字段设置为给定值。

    void set(int year,int month,int date):设置年、月、日。

    void set(int year,int month,int,date,int hour,int minure,int second):设置Calendar对象的年、月、日、时、分、秒。

    int get(int field):这的field是Calendar类的类变量,如 Calendar.YEAR等,该方法获的指定字段的值。

    void add(int field,int value):根据日历的规则,对给定的field字段进行加减指定的value时间量,特别的对于超出指定字段所能表示的最大范围时,会对上下级做出改变,对下一级是修正到变化最小的值。

    void roll(int field,int value):与add()方法类似,不过特别的,不向上级增大,对下级的修正与add()的一样。

    int getActualMaximum(int field):返回指定日历字段可能拥有的最大值。例如,月的最大值是11,因为,Calendar.MONTH的起始值是0而不是1。

    int getActualMinimum(int field):返回指定日历字段可能拥有的最小值,例如,月的最小值是0,而不是1。

     

    import java.util.Calendar;
    //静态导入
    import static java.util.Calendar.*;
    
    public class CalendarTest {
        public static void main(String[]  args){
            Calendar c = Calendar.getInstance();
            System.out.println(c);
            System.out.println(c.getTime());
            //取出年
            System.out.println(c.get(YEAR));
            //取出月份
            System.out.println(c.get(MONTH)+1);
            //取出日
            System.out.println(c.get(DATE));
            //分别设置年、月、日、小时、分钟、秒
            c.set(2003,10,23,12,32,33);
            //获取c对象代表的时间
            System.out.println(c.getTime());
            //将Calendar的年向前推一年
            c.add(YEAR,-1);
            System.out.println(c.getTime());
            c.roll(MONTH,-12);
            System.out.println(c.getTime());
            c.add(MONTH,-12);
            System.out.println(c.getTime());
        }
    }
    

    结果:

     

    3、两种解释日历字段的模式(容错性):

    lenient模式和non-lenient模式。当处于Calendar的leniend模式时,允许每个时间字段超出它允许范围的值,但当用setLenient(boolean true)来显式关闭lenient模式时,每个时间字段不在被允许超出允许的范围值,抛出异常。

    import java.util.Calendar;
    
    public class LenientTest {
        public static void main(String[] args){
            Calendar cal = Calendar.getInstance();
            System.out.println(cal.getTime());
            //结果是YEAR字段加1,MONTH字段为1(2月)
            cal.set(Calendar.MONTH,13);
            System.out.println(cal.getTime());
            //关闭容错性
            cal.setLenient(false);
            cal.set(Calendar.MONTH,13);
            System.out.println(cal.getTime());
    
        }
    }
    

    结果:

     

    4、set()方法的延迟修改

    set(f,value)中还设置一个内部成员变量,用于保存被指定修改的时间字段的结果值,指示该字段已经被修改,并直到下次调用到任何需要输出时间的方法时才会重新计算时间(代表实际时间的long型整数),避免多次计算。

    import java.util.Calendar;
    
    public class LazyTest {
        public static void main(String[] args){
            Calendar cal = Calendar.getInstance();
            cal.set(2003,7,31);
            System.out.println(cal.getTime());
            //将月份设为9,但9,。31号不存在,如果立即修改,系统将会把cal自动调整到2003.10.1
            cal.set(Calendar.MONTH,8);
    //        不注释下一行时,得到的结果是10月份的
    //        System.out.println(cal.getTime());
            //设置DATE字段为5
            cal.set(Calendar.DATE,5);
            System.out.println(cal.getTime());
        }
    }
    

    结果:

    展开全文
  • Date类与DateFormat类

    千次阅读 2017-03-01 19:43:35
    Data类与DataFormat类的用法Data类与Data...Data类概述Date类:表示特定的瞬间,精确到毫秒。 构造方法:Date():根据当前的默认毫秒值创建日期对象Date(long date):根据给定的毫秒值创建日期对象public class Test

    Date类与DateFormat类的用法

    Date类

    概述

    Date类:表示特定的瞬间,精确到毫秒。

    构造方法:

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

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

    public class Test {
    	public static void main(String[] args) {
    		// 创建对象
    		Date d = new Date();
    		System.out.println("d:" + d);  // 结果是:d:Wed Mar 01 19:19:12 CST 2017
    
    		// 创建对象
    		// long time = System.currentTimeMillis();
    		long time = 1000 * 60 * 60; // 1小时
    		Date d2 = new Date(time);
    		System.out.println("d2:" + d2);  // 结果是:d2:Thu Jan 01 09:00:00 CST 1970
    	}
    }
    

    常用方法

    Date类成员方法

    getTime() :从Date得到一个毫秒值

    setTime(long time):把一个毫秒值转换为Date

    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);
    	}
    }
    
    

    DateFormat类

    概述:

    针对日期进行格式化和针对字符串进行解析的类,

    Date    -->     String(格式化)
    String  -->     Date(解析)
    

    但是DateFormat类是抽象类,所以使用其子类SimpleDateFormat

    SimpleDateFormat的构造方法:

    SimpleDateFormat():默认模式
    SimpleDateFormat(String pattern):给定的模式

    这个模式字符串该如何写呢?
    通过查看API,我们就找到了对应的模式

    年 y
    月 M	
    日 d
    时 H
    分 m
    秒 s
    

    例如:
    2014年12月12日 12:12:12的模式为:
    yyyy年MM月dd日 HH:mm:ss

    常用方法

    实现Date – String的快速转化

    1. public final String format(Date date) : 将给定的 Date 格式化为日期/时间字符串。
    2. public Date parse(String source) : 解析字符串的文本,生成 Date。
    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);
    	}
    }
    

    试题

    用DateFormat算一下你来到这个世界多少天?

    (不推荐用这样的方法,下一节讲解 日历类)

    分析:

    • A:键盘录入你的出生的年月日
    • B:把该字符串转换为一个日期
    • C:通过该日期得到一个毫秒值
    • D:获取当前时间的毫秒值
    • E:用D-C得到一个毫秒值
    • F:把E的毫秒值转换为年。除以( /1000/60/60/24 )
    public class MyYearOldDemo {
    	public static void main(String[] args) throws ParseException {
    		// 键盘录入你的出生的年月日
    		Scanner sc = new Scanner(System.in);
    		System.out.println("请输入你的出生年月日:");
    		String line = sc.nextLine();
    
    		// 把该字符串转换为一个日期
    		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    		Date d = sdf.parse(line);
    
    		// 通过该日期得到一个毫秒值
    		long myTime = d.getTime();
    
    		// 获取当前时间的毫秒值
    		long nowTime = System.currentTimeMillis();
    
    		// 用D-C得到一个毫秒值
    		long time = nowTime - myTime;
    
    		// 把E的毫秒值转换为年
    		long day = time / 1000 / 60 / 60 / 24;
    
    		System.out.println("你来到这个世界:" + day + "天");
    	}
    }
    
    
    展开全文
  • Java(Date类)

    万次阅读 2019-06-08 09:32:30
    Date类是在java.util包下的Date类。 2、Date类的构造器有: Date():分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。 Date(long date):分配 Date 对象并初始化此对象,以...

    作者:杨裙
    本次任务完成时间:2019年6月5日
    开发工具与关键技术:MyEclipse 10、Java
    1、Date类是经常会使用到的一个用来处理日期、时间的一个类。Date类是在java.util包下的Date类。
    2、Date类的构造器有:
    Date():分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
    Date(long date):分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。
    3、下面是其的几个方法:
    getTime()方法来获取毫秒数,其返回值类型是long,其可以把日期对象转成毫秒值。setTime(long time):表示的是time毫秒的时间点,其返回值类型是void,其可以把毫秒值转成具体日期。
    如下图例:
    在这里插入图片描述
    4、当遇到日期对象与需求的日期对象不一样时,那么就可以使用SimpleDateFormat类来进行转换,SimpleDateFormat是可以根据自己需要的日期格式来转换。也就是可以对Date和String相互转换。
    如下图:
    在这里插入图片描述
    使用parse时要注意,被转换时间字符串格式必须和转换器声明的格式一致

    5、如果不需要使用特定的格式化风格,完全可以使用DateFormat类中的静态工厂方法
    取具体的已经封装好风格的对象。getDateInstance();getDateTimeInstance();两个方法。

    •在平时遇到的需求有很多都是时间的转换或者是需要求出两个时间的差,那么这时就可以
    使用SimpleDateFormat类把两个日期字符串转换转成日期对象。当求时间差时,首先应
    该考虑的是,怎么把日期字符串转成日期对象,然后怎么把两个日期对象转成可以使两个
    相减的数,如下图是两个时间相减的部分代码:
    在这里插入图片描述
    这里是使用SimpleDateFormat类来定义成两个需要相减的日期的格式,然后通过parse来进行转换,这里是通过把两个日期转换成毫秒值,然后把两个毫秒值进行相减,这样就可以得到我们想要的毫秒值。其中这里最好就是使用Math.abs来计算绝对值,尽量不要直接相减,以免出现负的值。如果需要求出具体有多少天,那么就需要利用时间的进制转换一下。

    如下图:
    在这里插入图片描述

    展开全文
  • 一、Date类 1、Date类构造函数 2、Date 类常用方法 二、DateFormat 类 1、DateFormat 类构造方法 2、DateFormat 类常用方法 三、Calendar 类 一、Date类 Data 类表示特定的瞬间,精确到毫秒,使用Data类来...
  • Java之Date类和Calendar类比较

    千次阅读 2018-10-23 17:32:47
    目前Java版本的Date类中已经逐步抛弃getDate()、getDay()的方法了,取而代之的是Calendar类的get()方法。所以在这边对Date类和Calendar类做一个总结。 Date类 这个类的来源非常的古老,从JDK1.0就有了,但是因为...
  • 1 Date类 概述 java.util.Date类 表示特定的瞬间,精确到毫秒。 查阅Date类的描述,发现Date拥有多个构造函数,本篇只了解以下两个: public Date():分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)...
  • java、Date类

    千次阅读 2017-12-05 11:26:16
    //Date类对象用来表示时间和日期; //该类提供一系列操纵日期和时间各组成部分的方法; //Date类最多的用途是获取系统当前的日期和时间。 import java.util.Date; public class DateDemo { public static void main...
  • PTA:定义Date类

    千次阅读 2020-05-18 16:44:23
    根据Date被使用的情况,进行Date类定义,要求通过构造函数进行日期初始化,并通过display()函数进行日期格式显示,显示格式为"月/日/年" 测试程序样例: n( ) 函数定义如下: int main() { Date d1(3,25,2019); ...
  • Java中Date类和Calendar类的使用

    千次阅读 2019-04-11 15:21:52
    它还包含用于处理日期和时间的类,例如Date类和Calendar类;下面将介绍Date类和Calendar类。 1、Date类 Date类对象表示当前日期和时间,并提供操纵日期和时间各组成部分的方法。必须将Date对象转换为字符串,才能...
  • Date类、LocalDate类基本操作

    千次阅读 2016-11-22 09:57:30
    Date类和LocalDate类 Date类用来表示时间点,LocalDate类是作为日历表示法的类。 示例: package riqi_test;   import java.time.LocalDate; import java.util.Date; /**  * 时间点、日期。Date类与...
  • Date类 在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理。这里简单介绍一下Date类的使用。 1、使用Date类代表当前...
  • JAVA中的Date类

    千次阅读 2020-11-17 20:44:08
    JAVA中如果想获取当前的日期时间可以直接通过java.util.Date类来实现,此类的常用操作如下表所示 例子: 获取当前日期时间 package DateDemo; import java.util.Date; public class Test { public static void ...
  • Java之Date类和Calendar类的区别

    千次阅读 2019-05-08 21:20:12
    Date类:对于处理日期、时间,Java提供了Date类,此处的Date是指java.util包下的Date类;Date对象既包含日期,也包含时间。Date类从JDK1.0起就已经存在,经过不停的迭代更新,导致它的大部分构造器、方法都已经过时...
  • Date类,查看API文档发现,很多构造器,方法都已经是deprecated,都已经不推荐使用了的,但是还是能满足基本的需求(获取当前时间)的。  构造器 Date() 生成一个代表 当前日期时间的Date对象。该构造器在底层调用...
  • Java常用类之Date类

    2014-06-19 00:13:25
    1.Date类 2.DateFormat类 3.SimpleDateFormat类
  • c++日期类(Date类

    千次阅读 2018-03-24 10:51:05
    1.Date中的构造函数构造函数的作用可以说是对类变量的初始化(Init)如果我们不写构造函数,系统会生成默认的构造函数,但是对于date类来说,这里的默认构造函数什么都不做,如果你创建了一个 Date d1,系统调用了默认...
  • java date类和calendar类

    千次阅读 2013-06-02 17:50:10
    Date类,在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从 JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理。这里简单介绍一下Date类的使用: 1、使用Date类代表当前...
  • 将Time类声明为Date类的友元类,这样Time中的所有函数都可以访问Date类中的所有成员。 #include<iostream> using namespace std; class Time;//对Time类的提前引用声明 class Date//声明Date类 { public:...
  • Java Date类 Calender类 比较

    千次阅读 2012-08-14 10:32:54
    1、 Date类   在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理。这里简单介绍一下Date类的使用。 1、使用...
  • 1. Date类与long数据类型的转型2. SimpleDateFormat类的使用3. Calendar类的使用如果要操作日期一定要使用日期的处理类。1、Java.util.Date类范例:package com.lohas.demo.date;import java.util.Date;public ...
  • Date类的常用方法及Date和String的相互转换的Util工具类 Date类的常用方法 import java.util.Date; /** * Date类的常用方法的介绍 * @author Administrator * */ public class DateBase { public static void...
  • C++中的Date类(日期类)

    千次阅读 2014-06-06 19:37:52
    C++中Date类用的比较
  • 【Java】Date类和Calendar类必知必会

    千次阅读 2020-03-07 15:04:23
    总结Date类和Calendar类那些必知必会的知识
  • JAVA Date类与Calendar类使用入门

    万次阅读 2014-03-29 09:28:08
    Date类 在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理。这里简单介绍一下Date类的使用。 1、使用Date类代表...
  • Date类的构造方法  Date类拥有多个构造函数,只是部分已经过时,但是其中有未过时的构造函数可以把毫秒值转成日期对象。 /*  * Date类的long参数的构造方法  * Date(long ) 表示毫秒值  * 传递毫秒值,将毫秒...
  • java中,Date类与Calendar类同是对日期和时间进行操作的类, Date是使用函数返回日期或时间,Calendar类是使用属性返回时间或日期 敢问,在实际的一些应用中,这二者分别在什么环境下使用,或者说有什么 不同的使用...
  • JAVA的Date类与Calendar类

    千次阅读 2013-07-03 10:13:13
    Date类 在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理。这里简单介绍一下Date类的使用。 1、使用Date类代表当前...
  • Java Date类 详解

    千次阅读 2012-09-27 14:26:12
    Date类 在JDK1.0中,Date类是唯一的一个代表时间的类,但是由于Date类不便于实现国际化,所以从JDK1.1版本开始,推荐使用Calendar类进行时间和日期处理。这里简单介绍一下Date类的使用。 1、使用Date类代表...
  • JavaDate类的简单介绍

    千次阅读 2018-06-05 17:39:44
    Date类Date类是Java的日期时间类,其构造方法比较多,下面是常用的两个:Date():使用当前的日期和时间初始化一个日期对象Date(long millisec):这个long类型的参数millisec是从1970年01月01日00时...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 43,591
精华内容 17,436
关键字:

date类