Date类
public Date()
public Date(long date)
public void setTime(long date)
public long getTime()
import java.util.Date;
public class test {
public static void main(String[] args) {
//创建一个Date对象,代表系统当前时间信息
Date d=new Date();
System.out.println(d);//Tue Apr 02 17:41:17 CST 2024
//拿到时间毫秒值
long time=d.getTime();
System.out.println(time);
//把时间毫秒值变成时间对象
time+=2*1000;
Date d2=new Date(time);
System.out.println(d2);//Tue Apr 02 17:43:17 CST 2024
//直接把日期对象的时间通过setTime方法修改
Date d3=new Date();
System.out.println(d3);//Tue Apr 02 17:41:17 CST 2024
d3.setTime(time);//把日期对象的时间改成此time毫秒的时间
System.out.println(d3);//Tue Apr 02 17:43:17 CST 2024
}
}
SimpleDateFormat类
可以把简单日期格式化,可以用来把日期对象,时间毫秒值格式化我们想要的形式
public SimpleDateFormat(String pattern)
例子:
public final String format(Date date)
Public final String format(Object time)
import java.text.SimpleDateFormat;
import java.util.Date;
public class test {
public static void main(String[] args) {
Date d=new Date();
System.out.println(d);
long time= d.getTime();
System.out.println(time);
SimpleDateFormat s1=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss EEE a");
String ss=s1.format(d);
String ss2=s1.format(time);
System.out.println(ss);
System.out.println(ss2);
/* Wed Apr 03 18:49:12 CST 2024
1712141352357
2024年04月03日 18:49:12 周三 下午
2024年04月03日 18:49:12 周三 下午*/
}
}
public Date parse(String source)
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class test2 {
public static void main(String[] args) throws ParseException {
String dateStr="2024-01-01 12:00:00";
//1:创建一个简单格式化对象,指定的时间格式必须与被解析的时间格式一模一样,否则程序出bug;
SimpleDateFormat sim=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = sim.parse(dateStr);
System.out.println(d);//Mon Jan 01 12:00:00 CST 2024
一个简单的案例
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class test3 {
public static void main(String[] args) throws ParseException {
String start ="2024-11-11 0:0:0";
String end="2024-11-11 0:10:0";
String x="2024-11-11 0:01:18";
String j="2024-11-11 0:10:18";
SimpleDateFormat s=new SimpleDateFormat("yyyy-mm-dd HH:mm:ss");
Date starDt=s.parse(start);
Date endDt=s.parse(end);
Date xDt=s.parse(x);
Date jDt=s.parse(j);
//把日期对象变成时间毫秒值来比较
long startTime=starDt.getTime();
long endTime=endDt.getTime();
long xTime=xDt.getTime();
long jTime=jDt.getTime();
if(xTime>=startTime&&xTime<=endTime)
{
System.out.println("x在时间范围内");
}
else System.out.println("x不在时间范围内");
if(jTime>=startTime&&jTime<=endTime)
{
System.out.println("j在时间范围内");
}
else System.out.println("j不在时间范围内");
}
}
Calendar类:抽象类
public static Canledar getInstance()
public int get(int field)
public final Date getTime()
public long getTimeInMills()
public void set(int field,int value)
public void add(int field,int amount)
import java.util.Calendar;
import java.util.Date;
public class test {
public static void main(String[] args) {
//1:得到系统此刻时间对应的日历对象
Calendar now =Calendar.getInstance();
System.out.println(now);
//2:获取日历的某个信息
int year=now.get(Calendar.YEAR);
System.out.println(year);//2024
int month=now.get(Calendar.MONTH);
System.out.println(month);//3(月份是从0开始计算的。所以当前是4月份)
//3:拿到日历记录的时间对象
Date d=now.getTime();
System.out.println(d);//Wed Apr 03 19:42:30 CST 2024
//4:拿到日历记录的时间毫秒值
long time =now.getTimeInMillis();
System.out.println(time);//1712144598810
//5:修改日历中的某个信息
now.set(Calendar.MONTH, 6);//将月份改成7月份
System.out.println(now);
now.set(Calendar.DATE, 125);//改成一年中的第125天
//6:为某个信息增加减少
now.add(Calendar.MONTH, 2);//月份加2
now.add(Calendar.MONTH, -1);//月份减一
}
}