Date类中的常用方法
方法名 | 说明 |
---|---|
public Date() | 获取当前系统时间 |
public Date(Long date) | 获取指定时间戳的时间 |
public long getTime() | 获取时间戳,毫秒 |
public void setTime(Long time) | 设置时间,参数为毫秒值 |
创建一个Date类的对象
获取当前的时间对象,通过new Date实例化对象,输出就是就是当前的系统时间
import java.util.Date;
/**
* @Classname : demo08
* @Description : TODO date类方法
* @Author : lin_refuel@qq.com
*/
public class demo08 {
public static void main(String[] args) {
Date date = new Date();//获取的是当前时间
System.out.println(date);
}
}
运行结果: 就是一个当前的时间
Date获取指定时间的时间戳
获取一个昨天的时间
/**
* @Classname : demo08
* @Description : TODO date类方法
* @Author : lin_refuel@qq.com
*/
public class demo08 {
public static void main(String[] args) {
//例如获取一个昨天的时间
Date date1 = new Date();
System.out.println(date1);//当前的系统时间
System.out.println("======================");
Date date = new Date(System.currentTimeMillis() - (1000*60*60*24));//通过传递一个昨天获的时间戳,得到昨天时间
System.out.println(date);//昨天的时间
}
}
运行结果:
getTime()和setTime
getTime:获取一个时间戳
setTime:传递的时间戳,设置时间对象
package com.itxs.demo04;
import java.util.Date;
/**
* @Classname : demo08
* @Description : TODO date类方法
* @Author : lin_refuel@qq.com
*/
public class demo08 {
public static void main(String[] args) {
Date date = new Date();
//获取时间戳的两种方式
//方式1 getTime
System.out.println(date.getTime());
//方式2 System.currentTimeMillis()
System.out.println(System.currentTimeMillis());
System.out.println("===============================");
System.out.println(date); //今天的时间
//setTime的使用方式,初始化时间,初始化为明天的时间
date.setTime(date.getTime() + (1000*60*60*24));
System.out.println(date);//明天的时间
}
}
运行结果:
SimpleDateFormat
方法名 | 说明 |
---|---|
public SimpleDateFormat() | 使用默认时间格式 |
public SimpleDateFormat(String pattern) | 使用指定的时间格式 |
使用方式
demo:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @Classname : demo09
* @Description : TODO SimpleDateFormat的使用
* @Author : lin_refuel@qq.com
*/
public class demo09 {
public static void main(String[] args) throws ParseException {
//设置时间格式的对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日-E-a-HH点--mm分--ss秒");
//获取当前时间对象
Date date = new Date();
//调用format方法,获取的时间转成字符串
String format = sdf.format(date);
System.out.println(format);//输出时间
System.out.println("==========================");
//使用指定的时间格式的字符串,转成一个Date对象
String time = "2023年12月09日-星期六-下午-20点--04分--44秒"; //日期字符串
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日-E-a-HH点--mm分--ss秒");
Date parse = sdf2.parse(time);//把一个时间的字符串变成了date对象
System.out.println(parse);//输出parse对象
}
}
运行结果:
SimpleDateFormat格式转换
时间类型对象转成字符串,指定格式的字符串转成Date类对象
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @Classname : demo10
* @Description : TODO SimpleDateFormat 格式转换
* @Author : lin_refuel@qq.com
*/
public class demo10 {
/**
* 将时间对象,转换成为一个指定格式的字符串
* @param data 被转换目标对象
* @param str 转换目标的格式
* @return 被转换的目标对象的字符串
*/
private static String DateToString(Date data,String str){
SimpleDateFormat sdf = new SimpleDateFormat(str);//设置指定格式
return sdf.format(data);
}
/**
* 指定样式时间字符串转换成Date对象
* @param str2 被转换的时间字符串
* @param str 时间字符串样式
* @return Date对象
*/
private static Date StringToDate(String str,String str2) throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat(str);
return sdf.parse(str2);
}
public static void main(String[] args) throws ParseException {
//输出Date转指定样式字符串
System.out.println(DateToString(new Date(),"yyyy年MM月dd日 EEEE ahh:mm"));
//将指定字符串转成时间对象
System.out.println(StringToDate("yyyy年MM月dd日 EEEE ahh:mm","2023年12月09日 星期六 下午09:05"));
}
}
运行结果:
日历类Calendar
获取Calendar里面属性
import java.util.Calendar;
/**
* @Classname : demo11
* @Description : TODO Calendar
* @Author : lin_refuel@qq.com
*/
public class demo11 {
public static void main(String[] args) {
Calendar calendar = Calendar.getInstance();
//获取里面的属性
System.out.println(calendar.get(Calendar.YEAR)); //年
System.out.println(calendar.get(Calendar.MONTH));//月份
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//该月份的第几天
System.out.println(calendar.get(Calendar.DAY_OF_YEAR));//该年份的第几天
}
}
运行结果:
Calendar案例
3个常用的方法
方法名 | 说明 |
---|---|
public int get(int field) | 返回给定字段的值 |
public abstract void add(int field, int amount) | 根据日历规则,将指定的时间量添加或减去给定的日历字段 |
public final void set(int year, int month, int date) | 是指当前日历的年月日 |
demo:
/**
* @Classname : demo12
* @Description : TODO Calendar的应用
* @Author : lin_refuel@qq.com
*/
public class demo12 {
public static void main(String[] args) {
//创建一个Calendar类对像
Calendar cl = Calendar.getInstance();
//通过get方法的返回给定字段的值
int year = cl.get(Calendar.YEAR);//年份
int month = cl.get(Calendar.MONTH)+1;//月份
int date = cl.get(Calendar.DATE);//日期
System.out.printf("%d年%d月%d日\n",year,month,date);
System.out.println("===============================");
//调用add方法,根据日历规则,将指定的时间量添加或减去给定的日历字段
cl.add(Calendar.YEAR,1);// 年份+1
cl.add(Calendar.MONTH,1);//月份+1
cl.add(Calendar.DATE,1);//日期+1
year = cl.get(Calendar.YEAR);//年份
month = cl.get(Calendar.MONTH)+1;//月份
date = cl.get(Calendar.DATE);//日期
System.out.printf("%d年%d月%d日\n",year,month,date);
System.out.println("===================================");
//set方法重置时间
cl.setTime(new Date());
year = cl.get(Calendar.YEAR);//年份
month = cl.get(Calendar.MONTH)+1;//月份
date = cl.get(Calendar.DATE);//日期
System.out.printf("%d年%d月%d日\n",year,month,date);
}
}
运行结果: