日期和时间
[*]日期和时间继续关系图
https://img2024.cnblogs.com/blog/2464263/202409/2464263-20240912155901874-1665378917.png
[*]获取时间戳(当前时间毫秒值)
https://img2024.cnblogs.com/blog/2464263/202409/2464263-20240912155921354-790441207.png
util.Date
https://img2024.cnblogs.com/blog/2464263/202409/2464263-20240912160008255-1110988956.png
sql.Date
[*]java.sql.Date对应的是数据库中日期类型的变量
https://img2024.cnblogs.com/blog/2464263/202409/2464263-20240912160059227-1738162319.png
SimpleDateFormat类
[*]format( ):日期 转 字符串
[*]parse( ):字符串 转 日期
日期 转 字符串
https://img2024.cnblogs.com/blog/2464263/202409/2464263-20240912160232977-1099074846.png
字符串 转 日期
https://img2024.cnblogs.com/blog/2464263/202409/2464263-20240912160252999-1983075521.png
字符串 转sql.Date
[*]需要先将 字符串 转换成 uitli.date
[*]再将uitli.date 转成 sql.date
https://img2024.cnblogs.com/blog/2464263/202409/2464263-20240912160324338-525509173.png
Calendar日历类
[*]Calendar是一个抽象类,使用Calendar.getInstance( )方法获取对象
[*]获取月份时:一月是0,二月是1,以此类推,12月是11
[*]获取星期时:周日是1,周二是2 ,周六是7
https://img2024.cnblogs.com/blog/2464263/202409/2464263-20240912160426169-194890068.png
java.time
[*]LocalDate类: 本地日期
[*]LocalTime类: 本地时间
[*]LocalDateTime类:本地日期和时间
LocalDate类、LocalTime类、LocalDateTime类
https://img2024.cnblogs.com/blog/2464263/202409/2464263-20240912160542362-1272676961.png
https://img2024.cnblogs.com/blog/2464263/202409/2464263-20240912160609944-1622285846.png
Instant类
[*]时间线上的一个瞬时点。表示自1970年1月1日0时0分0秒(UTC)开始的秒数。
https://img2024.cnblogs.com/blog/2464263/202409/2464263-20240912160638794-1611011041.png
DateTimeFormatter类
[*]格式化日期时间 和 解析日期时间
https://img2024.cnblogs.com/blog/2464263/202409/2464263-20240912160725421-249769624.png
public static void main(String[] args) {
//获取本地日期时间
LocalDateTime localDateTime = LocalDateTime.now();//2024-09-12T14:40:40.161
//获取DateTimeFormatter对象,并且自定义日期时间的格式
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss");
//格式化:日期 --> 字符串
String timeStr = dateTimeFormatter.format(localDateTime);//2024-09-12 02:43:34
//解析:字符串 --> 日期
//TemporalAccessor parse = dateTimeFormatter.parse("2020-09-10 10:10:50");
timeStr = "2020-09-10 10:10:50";
DateTimeFormatter formatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime localDateTime02 = LocalDateTime.parse(timeStr, formatter2);
System.out.println(localDateTime02);//2020-09-10T10:10:50
}应用实例
[*]三天捕鱼两天晒网。判断在指定日期是在打渔,还是在晒网。从1990-01-01开始。
/**
* 思路分析:
* 第一步:计算出1990-01-01到指定日期,一共多少天
* 第二步:总天数%5,余数是1、2、3表示打鱼。4、0晒网
*/
public static void main(String[] args) throws ParseException {
//开始时间转换成毫秒值
String timeStr = "1990-01-01";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = simpleDateFormat.parse(timeStr);
long startTime = date.getTime();
//结束时间转换成毫秒值
String endTimeStr="2020-09-21";
Date endDate = simpleDateFormat.parse(endTimeStr);
//long endTime = new Date().getTime();
long endTime = endDate.getTime();
int swapTempTime=1000*60*60*24;
double allDays=(endTime-startTime)/swapTempTime;//获取总天数
//判断是否是一个小数。如果是小数 总天数+1
String str = allDays + "";
String[] split = str.split("\\.");
if (!"0".equals(split)) {
System.out.println(allDays+" 是一个小数");
//总天数+1
allDays += 1;
}
//总天数对5取模。1、2、3打渔,0、4晒网
int result=(int)allDays%5;
switch (result){
case 1:
case 2:
case 3:
System.out.println("正在打渔.....");
break;
case 0:
case 4:
System.out.println("今天休息。晒网");
break;
default:
System.out.println("出错了!");
}
}
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]