一.介绍java.util包中的date类表示特定的时间,精确到毫秒。如果要想使用我们的date类,那么我们必须得引入我们的date类。
date类直接写入年份是得不到正确的结果的。 因为java中date是从1900年开始算的,所以前面的第一个参数只要填入从1900年后过了多少年就是你想要得到的年份。 月需要减1,日可以直接插入。 这种方法用的比较少,常用的是第二种方法。
这种方法是将一个符合特定格式,比如yyyy-mm-dd,的字符串转化成为date类型的数据。 首先,定义一个date类型的对象 date date = null; 再定义一个string类型的符合格式的字符串 string datestr = 2010-9-10; 把这个字符串进行拆分 datedivide = datestr.split(-); 把年月日分别取出,赋给calendar,用 calendar的gettime();取得日期再赋给date。
二.知识点介绍1、date类的声明
2、date类的常用方法
3、simpledateformat格式化日期
三.知识点讲解1、date类的声明 如果要想取得日期时间,我们可以实例化date类
(1)获得当前日期时间
date d=new date();
(2)获得指定日期时间
date d=new date(long date);
注意:要想得到当前时间的long date 我们可以用gettime();方法
代码演示:
package test2;import java.util.date;public class tested {private final static string name = "磊哥的java历险记-@51博客";public static void main(string args[]){//产生日期对象date d=new date();system.out.println(d);//获取时间为长整型,时间戳long l=d.gettime();system.out.println(l);date d1=new date(l);system.out.println(d1);system.out.println("============="+name+"=============");}}
2、date类的常用方法(1)getyear()//年份,date对象中年份减去1900以后的值,所以需要显示对应的年份则需要在返回值的基础上加上1900
(2)getmonth()//月份,date类规定一月是0,二月是1,三月是2,后续的依次类推。
(3)getdate()//日期
(4)gethours()//小时
(5)getminutes()//分钟
(6)getseconds()//秒
(7)getday()//星期,date类规定周日是0,周一是1,周二是2,后续的依次类推。
代码演示:
package test2;//导入时间包import java.util.date;public class tested {private final static string name = "磊哥的java历险记-@51博客";public static void main(string args[]){//创建时间对象date d2 = new date();//年份,java中的date表示的是自1900年以来所经过的时间int year = d2.getyear() + 1900;//月份,最后一个月取决于一年中的月份数。 因为这个值的初始值是0,因此我们要用它来表示正确的月份时就需要加1。int month = d2.getmonth() + 1;//日期int date = d2.getdate();//小时int hour = d2.gethours();//分钟int minute = d2.getminutes();//秒int second = d2.getseconds();//星期几int day = d2.getday();system.out.println("年份:" + year);system.out.println("月份:" + month);system.out.println("日期:" + date);system.out.println("小时:" + hour);system.out.println("分钟:" + minute);system.out.println("秒:" + second);system.out.println("星期:" + day);system.out.println("============="+name+"=============");}}
3、simpledateformat格式化日期simpledateformat 是一个以语言环境敏感的方式来格式化和分析日期的类。simpledateformat 允许你选择任何用户自定义日期时间格式来运行。
(1)simpledateformate初始化:
simpledateformate sdf=new simpledateformate(日期格式);
注意:日期格式
(2)simpledateformat常用方法:
format(date d):将日期格式转化为字符串数据
parse(string s):将字符串格式转化为日期数据
代码演示:
package test2;import java.text.parseexception;import java.text.simpledateformat;import java.util.date;class person extends object{public static void main(string args[]){date d=new date();//传入指定时间格式simpledateformat sdf=new simpledateformat("yyyy-mm-dd");//日期格式化输出system.out.println(sdf.format(d));}}
定义一个工具类:
package test2;//导入时间包import java.text.simpledateformat;import java.util.date;public class mydate {private final static string name = "磊哥的java历险记-@51博客";// 定义的mydatedemo类private simpledateformat sd = null;// 声明simpledateformat对象sdpublic string getdate01() {// 定义getdate01方法this.sd = new simpledateformat("yyyy-mm-dd hh:mm;ss.sss"); // 得到一个"yyyy-mm-dd// hh:mm;ss.sss"格式日期return this.sd.format(new date());// 将当前日期进行格式化操作}public string getdate02() { // 定义getdate02方法this.sd = new simpledateformat("yyyy年mm月dd日 hh时mm分ss秒sss毫秒");// 得到一个"yyyy年mm月dd日//hh时mm分ss秒sss毫秒"格式日期return this.sd.format(new date()); // 将当前日期进行格式化操作 }public string getdate03() {// 定义getdate03方法this.sd = new simpledateformat("yyyymmddhhmmsssss");// 得到一个"yyyymmddhhmmsssss"格式日期(也就是时间戳)return this.sd.format(new date());// 将当前日期进行格式化操作}}
主方法调用:
package com.test;import test2.mydate;import java.util.date;public class main {private final static string name = "磊哥的java历险记-@51博客";public static void main(string[] args) { // 主方法mydate dd = new mydate(); // 声明dd对象,并实例化system.out.println("默认日期格式: " + new date());// 分别调用方法输入不同格式的日期system.out.println("英文日期格式: " + dd.getdate01());system.out.println("中文日期格式: " + dd.getdate02());system.out.println("时间戳: " + dd.getdate03());system.out.println("============="+name+"=============");}}
4、精炼练习4.1 题目(1)获取到当前日期,并且打印出yyyy-mm-dd hh:mm:ss的形式
(2)获取当前日期的年份和月份并进行输出
4.2 实验步骤(1)使用date对象获取当前日期
(2)使用simpledateformat进行格式化日期
(3)使用date的常用方法来进行获取年份和月份
4.3 代码演示package com.test;import test2.mydate;import java.text.simpledateformat;import java.util.date;public class main {private final static string name = "磊哥的java历险记-@51博客";public static void main(string[] args) { // 主方法//获取当前日期date d2=new date();//转换为yyyy-mm-dd hh:mm:sssimpledateformat sdf=new simpledateformat("yyyy-mm-dd hh:mm:ss");//日期格式化system.out.println("日期格式化:"+sdf.format(d2));int year = d2.getyear() + 1900;//年份int month = d2.getmonth() + 1;//月份system.out.println("年份:" + year);system.out.println("月份:" + month);system.out.println("============="+name+"=============");}}
以上就是java中使用date和simpledateformat类来处理时间的方法及用法介绍的详细内容。
