专业的JAVA编程教程与资源

网站首页 > java教程 正文

日期类和时间类的常用方法(日期和时间的数据类型)

temp10 2024-10-24 17:19:42 java教程 9 ℃ 0 评论

Date类

Date类概述

日期类和时间类的常用方法(日期和时间的数据类型)

Date类是一个日期类

通过该类可以获得时间和日期信息

Date类构造方法

Date() 获得当前的系统时间对象

Date(long time) 根据指定的毫秒值创建日期对象

Date类的成员方法

long getTime(); 获得当前时间对象的毫秒值

示例

import java.util.Date;
public class DateDemo {
public static void main(String[] args){
// 创建日期对象
Date d = new Date();
// Wed May 22 12:09:45 CST 2024
// 2024-05-22 12:09:45 ==> DateFormat
// 2024-05-22 12:09:45
System.out.println(d);
// 获得当前时间的毫秒值: 1716350985513
System.out.println(d.getTime());
// 根据毫秒值创建日期对象
Date date = new Date(19495498424928L);
// Mon Oct 15 16:13:44 CST 2587
System.out.println(date);
}
}

DateFormat类

DateFormat类概述

是一个日期格式化类,是一个抽象类,不能直接创建该类对象,只能创建子类对象。

DateFormat类常用子类

SimpleDateFormat

SimpleDateFormat类常见操作

将日期对象格式为字符串

将字符串格式化为日期对象

SimpleDateFormat类构造方法

SimpleDateFormat() 创建日期格式化对象,使用默认的日期模式

SimpleDateFormat(String pattern) 根据指定的日期模式创建日期格式化对象

SimpleDateFormat类成员方法

String format(Date d) 将日期对象转换为字符串

Date parse(String str); 将字符串转换为日期对象

void applyPattern(String pattern) 修改日期模式

?

日期模式

yyyy 年

MM 月

dd 日

HH 时 hh:12小时制 HH:24小时制

mm 分

ss 秒

日期对象格式为字符串示例

/*

日期对象转字符串的步骤

创建SimpleDateFormat日期格式化对象并指定日期模式

调用格式化对象的format方法传递日期对象获得字符串

*/

import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormatDemo {
public static void main(String[] args){
// 获得当前系统日期对象
Date d = new Date();
// 创建日期格式化对象
// 2024/05/22 12:17:53
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
// 2024-05-22
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// 2024年05月22日 12时17分53秒
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
// 创建日期格式化对象
SimpleDateFormat sdf = new SimpleDateFormat();
// 修改日期模式
sdf.applyPattern("yyyy-MM-dd");
// Date ==> String
// 2024/05/22 中午12:17
String dStr = sdf.format(d);
System.out.println(dStr);
// 再次修改日期模式
sdf.applyPattern("HH:mm:ss");
System.out.println(sdf.format(d));
}
}

字符串转日期对象

/**

字符串转换为日期对象的步骤

创建日期格式化对象并指定日期模式

调用日期格式化对象的parse方法传递日期对象获得字符串

?

字符串转换为日期对象注意事项

创建日期格式对象时指定的日期模式要和字符串的日期格式一致

*/

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormatDemo01 {
public static void main(String[] args) throws ParseException {
// 日期字符串
String dateStr = "2024-05-22 18:30:15";
// 创建日期格式化对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// String ==> Date
Date date = sdf.parse(dateStr);
System.out.println(date);
}
}

Calendar类

常用的方法

Calendar类概述

是一个日历类,也是一个抽象类,不能直接创建该类对象,只能创建子类对象

通过该类也可以获得时间和日期信息

如何获得日历对象

通过调用Calendar类的静态方法获得,静态方法如下

static Calendar getInstance()

Calenar类的成员方法

int get(int field); 根据指定的日历字段获得对应的值

void set(int field,int value);

修改指定日历字段的值为指定值

void add(int field,int value);

将指定日历字段的值在当前值的基础上偏移一个值,正数向后偏移,负数向前偏移

Date getTime(); 获得日期对象

long getTimeInMillis() 获得当前时间毫秒值

void set(int year,int month,int date) 修改年月日

示例

import java.util.Calendar;
public class CalendarDemo {
public static void main(String[] args){
// 获得日历对象
Calendar c = Calendar.getInstance();
// c ==> java.util.GregorianCalendar
System.out.println(c);
// 获得毫秒值
System.out.println(c.getTime().getTime());
System.out.println(c.getTimeInMillis());
// set:修改指定日历字段的值
c.set(Calendar.YEAR,2025);
c.set(Calendar.MONTH,3);
c.set(Calendar.DATE,16);
// 修改年月日
c.set(2025,2,8);
// add:将指定日历字段的值在当前值的基础上偏移一个值,正数向后偏移,负数向前偏移
c.add(Calendar.YEAR,-1);
// 获得年
System.out.println(c.get(Calendar.YEAR));
// 获得月
System.out.println(c.get(Calendar.MONTH)+1);
// 获得日
System.out.println(c.get(Calendar.DATE));
// 获得时
System.out.println(c.get(Calendar.HOUR));
// 获得分
System.out.println(c.get(Calendar.MINUTE));
// 获得秒
System.out.println(c.get(Calendar.SECOND));
}
}

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表