从屌丝到架构师的飞越(API篇)-Date和DateSimpleFormat

一、介绍

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"; 把这个字符串进行拆分 String[ ]  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();方法

案例:

public class Test{

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

}

}

2、Date类的常用方法

getYear()//年份,Date对象中年份减去1900以后的值,所以需要显示对应的年份则需要在返回值的基础上加上1900

getMonth()//月份,Date类规定一月是0,二月是1,三月是2,后续的依次类推。

getDate()//日期

getHours()//小时

getMinutes()//分钟

getSeconds()//秒

getDay()//星期,Date类规定周日是0,周一是1,周二是2,后续的依次类推。

案例:

public class Test1{

public static void main(String args[]){

Date d2 = new Date();//年份

int year = d2.getYear() + 1900;//月份

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

}

}

3、SimpleDateFormat格式化日期

SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行。

(1) SimpleDateFormate初始化

SimpleDateFormate sdf=new SimpleDateFormate(日期格式);

注意:日期格式

(2) SimpleDateFormat常用方法

format(Date d):将日期格式转化为字符串数据

parse(String s):将字符串格式转化为日期数据

案例:

public class Test2{

public static void main(String args[]){

Date d=new Date();

SimpleDateFormate sdf=new SimpleDateFormat(“yyyy-MM-dd”);

//日期格式化

System.out.println(sdf.format(d));

}

}

public class Test3{

public static void main(String args[]){

String s=”2017-09-09”;

SimpleDateFormate sdf=new SimpleDateFormat(“yyyy-MM-dd”);

//字符串转换为时期类型

Date d=sdf.parse(s);

System.out.println(d);

}

}

案例二:

import java.text.SimpleDateFormat; //导入需要的SimpleDateFormat包

import java.util.Date; //导入需要的Date包

class MyDateDemo { // 定义的MyDateDemo类

private SimpleDateFormat sd = null; // 声明SimpleDateFormat对象sd

public 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());// 将当前日期进行格式化操作

}

}

public class SimpleDateFormatDemo {// 主类

public static void main(String[] args) { // 主方法

MyDateDemo dd = new MyDateDemo(); // 声明dd对象,并实例化

System.out.println("默认日期格式: " + new Date());// 分别调用方法输入不同格式的日期

System.out.println("英文日期格式: " + dd.getDate01());

System.out.println("中文日期格式: " + dd.getDate02());

System.out.println("时间戳: " + dd.getDate03());

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。