Java日期和时间(一)
2023-12-30 18:25:13
传统的日期和时间
Date
- 代表的是日期和时间
构造器 | 说明 |
---|---|
public Date() | 创建一个Date对象,代表的是系统当前此刻日期时间 |
public Date(long time) | 把时间毫秒值转换成Date日期对象 |
import java.util.Date;
public class Test {
public static void main(String[] args){
// 目标:掌握Date日期类的使用
// 创建一个Date的对象,代表系统当前时间信息
Date d = new Date();
System.out.println(d);
// 拿到时间毫秒值
long time = d.getTime();
System.out.println(time);
// 把时间毫秒值转换成日期对象,2s之后时间是多少
time += 2 * 1000;
Date d2 = new Date(time);
System.out.println(d2);
// 直接把日期对象的时间通过setTime方法进行修改
Date d3 = new Date();
d3.setTime(time);
System.out.println(d3);
}
}
?
SimpleDateFormat
- 代表简单日期格式化,可以用来把日期对象、时间毫秒值格式化成我们想要的格式。
?
例子?
? ? ? ? 给定的日期和时间是 2001-07-04? 12:05:56
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
public static void main(String[] args){
// 目标:掌握SimpleDateFormat的使用
Date d = new Date();
System.out.println(d);
long time = d.getTime();
System.out.println(time);
// 格式化日期对象和时间、毫秒值
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss EEE a");
String rs = sdf.format(d);
String rs2 = sdf.format(time);
System.out.println(rs);
System.out.println(rs2);
}
}
时间格式的常见符号:?
?
?
?SimpleDateFormat解析字符串时间成为日期对象
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
public static void main(String[] args) throws ParseException {
// 目标:掌握SimpleDateFormat解析字符串时间成为日期对象
String dateStr = "2022-12-12 12:12:11";
// 创建简单日期格式化对象,指定的时间格式必须与被解析的时间格式一模一样,否则出现会出bug
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = sdf.parse(dateStr);
System.out.println(d);
}
}
案例练习
?
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
public static void main(String[] args) throws ParseException {
// 目标:掌握SimpleDateFormat解析字符串时间成为日期对象
String start = "2023年11月11日 0:0:0";
String end = "2023年11月11日 0:10:0";
String xj = "2023年11月11日 0:1:18";
String xp = "2023年11月11日 0:10:57";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 H:m:s");
Date startDt = sdf.parse(start);
Date endDt = sdf.parse(end);
Date xjDt = sdf.parse(xj);
Date xpDt = sdf.parse(xp);
long startTime = startDt.getTime();
long endTime = endDt.getTime();
long xjTime = xjDt.getTime();
long xpTime = xpDt.getTime();
if (xjTime >= startTime && xjTime <= endTime){
System.out.println("小贾您秒杀成功");
}else {
System.out.println("小贾您秒杀失败");
}
if (xpTime >= startTime && xpTime <= endTime){
System.out.println("小皮您秒杀成功");
}else {
System.out.println("小皮您秒杀失败");
}
}
}
Calendar
- 代表的是系统此刻时间对应的日历。
- 通过它可以单独获取、修改时间中的年、月、日、时、分、秒等。
Calendar日历类的常见方法
import java.util.Calendar;
import java.util.Date;
public class Test {
public static void main(String[] args){
// 目标:掌握Calendar的使用和特点
// 得到系统此刻时间对应的日历对象
Calendar now = Calendar.getInstance();
System.out.println(now);
// 获取日历中的某个信息
int year = now.get(Calendar.YEAR);
System.out.println(year);
int days = now.get(Calendar.DAY_OF_YEAR);
System.out.println(days);
// 拿到日历中记录的日期对象
Date d = now.getTime();
System.out.println(d);
//拿到时间毫秒值
long time = now.getTimeInMillis();
System.out.println(time);
// 修改日历中的某个信息
now.set(Calendar.MONTH,9);
now.set(Calendar.DAY_OF_YEAR,125);
System.out.println(now);
// 为某个信息增加或者减少多少
now.add(Calendar.DAY_OF_YEAR,100);
now.add(Calendar.DAY_OF_YEAR,-10);
now.add(Calendar.DAY_OF_MONTH,6);
now.add(Calendar.HOUR,12);
System.out.println(now);
}
}
文章来源:https://blog.csdn.net/SU_mu147/article/details/135304307
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!