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);
}
}
网友评论