java日期类中的SimpleDateFormat

package A_ShangGuiGu.DateTimeTest;

import org.junit.Test;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
* 1.SimpleDateFormat
* 2.Calender
*/
public class DateTimeTest01 {
@Test
public void Test01() throws ParseException {
/*
SimpleDateFormat的使用:SimpleDateFormat对日期Date类的格式化和解析
1.两个操作:
1.1 格式化: 日期--》字符串
1.2 解析: 格式化的逆过程:字符串--》日期

2.SimpleDateFormat的实例化
*/
//实例化:使用默认的构造器。
SimpleDateFormat sdf = new SimpleDateFormat();

//格式化: 日期--》字符串 (需要调用.format方法)
Date date1 = new Date();//获取本地时间
System.out.println(date1);

String format = sdf.format(date1);
System.out.println(format);

//解析: 格式化的逆过程:字符串--》日期(需要调用.parse方法)
String str = "2000-01-12 上午12:30";
Date date2 = sdf.parse(str);
System.out.println(date2);
//******************************************
//格式化(需要调用.format方法)
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String date3 = sdf2.format(date1);
System.out.println(date3);
//解析:(需要调用.parse方法)
Date date4 = sdf2.parse(date3);
System.out.println(date4);
}

//将字符串"2020-12-12"转换为java.sql.Date类
@Test
public void test2() throws ParseException {
String str = "2020-12-12";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdf.parse(str);
java.sql.Date sqldate2 = new java.sql.Date(date1.getTime());
System.out.println(sqldate2);
}
//练习二:三天打鱼两天晒网,从2000-1-1开始,2020-12-12是在打鱼还是在晒网。

@Test
public void test3 () throws ParseException {
String str = "2000-1-1";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date1 = sdf.parse(str);
long date1num = date1.getTime();
System.out.println(date1);
System.out.println("2000-1-1的时间戳:"+date1num);
String str2 = "2020-12-11";
Date date2 = sdf.parse(str2);
long date2num = date2.getTime();
System.out.println(date2);
System.out.println("2020-12-12的时间戳:"+date2num);

long date3num = date2num - date1num;
System.out.println("差距的时间戳:"+date3num);
long date4num = (date3num/86400000);
System.out.println("中间的天数:"+date4num);
long day = (date4num%5)+1;//+1的原因是输入的时间为0时0分0秒,正常情况下需要加一天
// System.out.println(day);
if (day==1||day==2||day==3){
System.out.println("打鱼中");
}else if (day==0||day==4){
System.out.println("晒网");
}
}
}
posted @   zhazhawei906  阅读(32)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示