(1)Date

*  Date:

*  介绍是java.util包下的Date类,这个类是负责描述日期这类数据的。

*  Date主要是描述当前时间毫秒值对象。

*  它中的很多方法不利于国际化,已经被废弃。

*

*  Date是把当前的毫秒值封装成Date对象。

*  如何把一个毫秒值转成Date对象

*  Date()它是把当前的时间点的毫秒值转成Date对象

*  Date(long date) 把我们指定的一个毫秒值转成Date对象

*  setTime(long time) 把当前的Date对象设置成指定的毫秒值对应的那个日期对象

*

*  如何把一个Date对象转成毫秒值

*  Date类中有个getTime方法,可以把一个Date对象转成毫秒值

public classDateDemo {public static voidmain(String[] args) {//创建Date对象

Date d = newDate();

d.setTime(1380000910915L);//Date d = new Date(1380000910915L);

System.out.println(d);

System.out.println(d.toGMTString());

System.out.println(d.toLocaleString());

System.out.println(d.getTime());

}

}

(2)DateFormat

DateFormat类:

这类位于java.text包下。

这个类是个抽象类,这个类不能直接new对象。

DateFormat类主要是把日期对象格式化成字符串数据

Date对象,通过DateFormat类,可以被格式化成字符串数据"xxxx-xx-xx hh:mm:ss"

DateFormat类还可以一个字符串数据解析成Date对象。

"xxxx-xx-xx hh:mm:ss"  解析成Date对象

格式化:把对象格式化成文本(字符串)

解析:把文本(字符串)变成对象

由于DateFormat类是抽象类,它不能创建对象,但是这个类对外提供部分的静态方法,这些方法可以获取到本类的对象。

getDateInstance方法有重载,在获取DateFormat对象的时候可以指定风格

DateFormat.FULL:   2014年8月22日 星期五

DateFormat.LONG:    2014年8月22日

DateFormat.MEDIUM: 2014-8-22  是默认风格

DateFormat.SHORT:   14-8-22

在使用DateFormat类中parse方法来解析一个字符串数据的时候,字符串数据给定的格式必须和获取DateFormat对象时指定的风格一致,

这样才能够解析,否则解析失败。

//使用DateFormat类把字符串形式的日期数据解析成Date对象

public static void method_2() throwsParseException {//字符串形式的日期数据

String time = "2014年8月22日 星期五";//获取DateFormat对象

DateFormat df =DateFormat.getDateInstance( DateFormat.FULL );//解析字符串

Date d =df.parse(time);

System.out.println(d);

}//使用DateFormat类对日期进行格式化

public static voidmethod_1() {//获取DateFormat对象//DateFormat df = DateFormat.getDateInstance();//DateFormat df = DateFormat.getDateInstance( DateFormat.SHORT );

DateFormat df =DateFormat.getDateTimeInstance( DateFormat.MEDIUM,DateFormat.MEDIUM );//创建一个Date对象

Date d = newDate();

System.out.println(d);//对这个Date对象进行格式化

String time =df.format(d);

System.out.println(time);

}

(3)SimpleDateFormat

当我们想按照自己指定的风格来解析字符串数据或者格式化日期 对象时,可以使用DateFormat的子类SimpleDateFormat。

/** 演示使用SimpleDateFormat格式化Date对象

* "xxxx年xx/xx HH时mm分ss秒"*/

public static voidmethod_4() {//获取Date对象

Date d = newDate();//获取格式化对象

SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM/dd HH时mm分ss秒");//对日期对象进行格式化

String time =sdf.format(d);

System.out.println(time);

}/** 演示使用SimpleDateFormat类解析指定的格式数据

* "2014/08/22" 对应的格式:"yyyy/MM/dd"

* "2414/08/22 23:23:23" "yyyy/MM/dd HH:mm:ss"*/

public static void method_3() throwsParseException {//字符串形式的日期数据

String time = "2414/08/22 23:23:23";//创建SimpleDateFormat对象

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");//解析

Date d =sdf.parse(time);

System.out.println(d);

}

/** 需求:

* 有2个字符串形式的日期数据,需要计算它们相距多少天?

* "2014年09/28 23时13分01秒"

* "2009-02月12日 12时02分01秒"

*

* 思路:

* 要计算天数,首先需要把字符串形式的日期数据变成毫秒值,然后再通过毫秒值的相减得到时间差,然后再转成相距的天数。

* 如何把字符串数据变成毫秒值呢?

* 可以通过Date对象中的getTime方法,把一个Date对象转成毫秒值

* 把字符串日期数据转成Date对象,可以使用SimpleDateFormat类完成*/

public classDateTest {public static void main(String[] args) throwsParseException {

String s1_time= "2014年09/28 23时13分01秒";

String s2_time= "2013-09月27日 23时13分01秒";//获取格式器

SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy年MM/dd HH时mm分ss秒");

SimpleDateFormat sdf2= new SimpleDateFormat("yyyy-MM月dd日 HH时mm分ss秒");//解析字符串

Date d1 =sdf1.parse(s1_time);

Date d2=sdf2.parse(s2_time);//把当前的日期对象转成毫秒值

long time_1 =d1.getTime();long time_2 =d2.getTime();long day = (Math.abs(time_1 - time_2))/1000/60/60/24;

System.out.println(day);

}

}

(4)Calendar

Calendar:

位于java.util包下。

这个类主要是用来描述日历数据。

Calendar类是个抽象类可以通过getInstance方法获取其实例。

它中定义很多静态成员变量,把日历上常见的年,月,日,时分秒,星期等数据都封装成静态的成员变量,

可以通过Calendar类直接获取其对应的数据。

在计算机中月份从0开始,0表示1月,1表示2月,11表示12月。

星期也是从0开始,0表示星期日,1表示星期一

我们获得了Calendar实例之后,就可以通过Calendar类中的get方法获取当前这个实例中封装的所有的数据。

在使用get方法时,需要使用Calendar类本身和其中的静态成员变量结合使用。

在Calendar类中有set方法,可以把Calendar实例中的对应的数据修改为我们想指定的具体年月日时分秒等信息

add方法可以在指定的成员变量上修改它对应的数据

public classCalendarDemo {public static voidmain(String[] args) {

method_2();

}/** 任意一年的2月有多少天

*

* 思路:

* 获取一个Calendar实例,然后通过set方法把当前的月份设置为3月1日。

* 然后在使用add方法,让当前的月中的天数-1.这时再去获取当前的天数,一定是2月的最后一天。*/

public static voidmethod_2() {//获取Calendar实例

Calendar c =Calendar.getInstance();//使用循环来提供年份

for( int year = 1998;year<=2100;year++){//使用set方法设置当前年月日

c.set(year, 2, 1);//使用add方法让天数-1

c.add(Calendar.DAY_OF_MONTH, -1);

System.out.println("当前"+year+"年的2月共计有:"+c.get(Calendar.DAY_OF_MONTH));

}

}//Calendar方法演示

public static voidmethod_1() {//获取Calendar实例

Calendar c =Calendar.getInstance();

System.out.println(c.get(Calendar.YEAR));//使用set方法来设置年月日//c.set(2011, 12, 12);

c.add(Calendar.YEAR, -1);

System.out.println(c.get(Calendar.YEAR));

}

}

Java如何清除日期_Java中关于日期的处理方法相关推荐

  1. java 日期_Java中的日期操作

    Date : getTime() .setTime() SimpleDateFormate :   Formate(Date). parse(String s) Calendar : getInsta ...

  2. java中输入日期_Java中的日期操作

    在日志中常用的记录当前时间及程序运行时长的方法: public void inject(Path urlDir) throws Exception { SimpleDateFormat sdf = n ...

  3. java中转换日期_java中时间日期格式讲解和转换方法

    额,其实做项目一个无可避免的工具包就是时间日期格式的转换.因为时间久了所以自己也存了好多关于转换的方法之类的.但是有时候就会不满足需求,手写一时半会儿还写不出来(我不知道是不是我太菜了,知道某类大概有 ...

  4. mongodb java 查询 日期_Java中的日期MongoDB查询

    我正在尝试向 mongodb查询"date"在两个日期之间的文档. 示例数据是: { "_id" : ObjectId("4fad0af6709fbc ...

  5. java怎么创建日期类_java中的日期类Date

    一.Java中的日期概述 日期在Java中是一块非常复杂的内容,对于一个日期在不同的语言国别环境中,日期的国际化,日期和时间之间的转换,日期的加减运算,日期的展示格式都是非常复杂的问题. 在Java中 ...

  6. java 数组 length 减少_java中数组有没有length()方法?string没有lenght()方法?

    java中数组有没有length()方法,求数组的长度可以使用数组的length属性. int length=arr.length;//求数组的长度 ------------------------- ...

  7. java 定义整数数组_JAVA中数组的正确定义方法是什么?

    数组是有序数据的集合,数组中的每个元素具有相同的数组名和下标来唯一地确定数组中的元素. §5.1一维数组 一.一维数组的定义 type arrayName[]; 其中类型(type)可以为Java中任 ...

  8. java 调用js脚本_Java中使用JavaScript脚本的方法步骤

    简介 Nashorn Nashorn 一个 javascript 引擎. 从JDK 1.8开始,Nashorn取代Rhino(JDK 1.6, JDK1.7)成为Java的嵌入式JavaScript引 ...

  9. java怎么打印星期_java中获取日期是星期几的两种方法

    java中取得指定日期是星期几可以采用下面两种方式取得日期是星期几:(推荐:java视频教程) 1.使用Calendar类//根据日期取得星期几 public static String getWee ...

最新文章

  1. python中意外缩进是什么意思_Python 的缩进是不是反人类的设计?
  2. LIB和DLL的区别与使用,非常详细
  3. oracle操作字符串:拼接、替换、截取、查找
  4. linux tr 变量大小写,使用tr命令快速达到大小写互换——深圳培训linux
  5. 如何判断PeopleEditor的值为空
  6. three.js 几何体-组合网格_ThreeJS 粒子系统实现雪花飘落动画
  7. 计算机网络实验vc6实现串口通信,用vc的串口通信实验报告.docx
  8. 基于顺序存储结构的图书信息表的最贵图书的查找(C++)
  9. 前端MVC学习总结(三)——AngularJS服务、路由、内置API、jQueryLite
  10. BSN: Boundary-Sensitive Network for Temporal Action Proposal Generation
  11. 科大讯飞成为北京 2022 年冬奥会和冬残奥会官方自动语音转换与翻译独家供应商
  12. 密文恢复出明文的过程称为_整流二极管的反向恢复过程图解
  13. Servlet→DWR实现JAVA服务器端向客户端推送消息
  14. Linux关机重启指令
  15. [源码和文档分享]基于汇编语言实现打字练习软件
  16. 组态王的日历时间控件脚本
  17. pycharm中设置鼠标滚动放大和缩小页面
  18. SNARK Design
  19. 虚拟机Vmware打开vmx步骤
  20. 高光时刻 | 方正璞华联合开发的「人力资源法律服务共享平台」在创新创业大赛中获奖

热门文章

  1. Tengine Web服务器概述
  2. 深度树匹配模型(TDM)
  3. MindSpore Lite整体架构介绍
  4. 通往安全自动驾驶汽车的艰难道路
  5. php-fpm开启报错-ERROR: An another FPM instance seems to already listen on /tmp/php-cgi.sock
  6. Android selector 使用注意.
  7. Duplicate class xxx
  8. android Android build.gradle 配置注释
  9. Spring整合Struts2
  10. tensorflow---alexnet training (tflearn)