有图有真相!Java oop(5道题):当前日期自定义格式化,计算一下该用户活了多少天等

点个赞,投币,收藏和关注后不迷路!

知识点:
// before(Date d):判断比较是否小于d
// after(Date d):判断是否大于d
// getYear():获取年
// getMonth():获取月
// getDate():获取日
// getHours():获取小时
// getMinutes():获取分钟
// getSeconds():获取秒
// getDay():获取周几
// getTime():将日期时间转化为长整形
// before(Date d):判断比较是否小于d
//接下来内容我都打上注释,大家看着我写的之后,自己试一下
//bofore:比较两个时间哪个大





1.
//一、如何来将当前日期自定义格式化输出?
package a;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class a{
public static void main(String[] args) {
// 声明一个当前时间
Date d=new Date();
//声明一个自定义的时间
Date d1=new Date(125,6,1);



System.out.println(d1.toLocaleString());

//比较一下
System.out.println("当前时间是不是小于声明的时间"+d.before(d1));
System.out.println("当前时间是不是大于声明的时间"+d.after(d1));
//getYear():获取年份
System.out.println("当前的年份是"+(d.getYear()+1900));
System.out.println("当前的月份是"+(d.getMonth()+1));
System.out.println("当前的日是"+d.getDate());
System.out.println("当前的小时是"+d.getHours());
System.out.println("当前的分钟是"+d.getMinutes());
System.out.println("当前的秒"+d.getSeconds());
System.out.println("当前是周几"+d.getDay()+1);
System.out.println("当前的时间转为毫秒数是"+d.getTime());
}
}

2.
// 二、提示用户输入一个指定的字符串日期,将其转换成为Date格式
package a;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class a{
public static void main(String[] args) {
// 二、提示用户输入一个指定的字符串日期,将其转换成为Date格式
// 1.提示用户输入一个指定的字符串日期
Scanner s=new Scanner(System.in);
System.out.println("请输入一个指定的日期,格式为'XXXX年XX月XX日 XX点XX分XX秒'");
String str=s.nextLine();
//将我输入的日期打印出来
System.out.println(str);
String str1="2019年11月10日 12点12分33秒";
// 2.声明转换的格式
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH点mm分ss秒");
// 3.使用转换格式的parse()方法进行转换为Date格式
try {
// 声明一个空的日期对象
// 使用格式化对象的parse()方法将用户输入的日期进行转换为Date格式
Date dd=sdf.parse(str1);
// 打印转换后的日期的默认格式
System.out.println(dd);
// 打印转换后的日期的通用格式
System.out.println(dd.toLocaleString());
} catch (Exception e) {
System.out.println("你输入的格式不对");
}
}
}

扩展:











// 三.计算一下一天有多少毫秒
// 1秒等于1000毫秒,1分等于60秒,1小时等于60分,1天等于24小时
package a;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class a{
public static void main(String[] args) {
System.out.println("一天有"+1000*60*60*24+"毫秒");
}
}

// 四.将当前时间加上一周,打印一周后的时间
package a;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class a{
public static void main(String[] args) {
// 1.求出来当前日期并将这个日期转为毫秒的形式
Date d=new Date();
long now=d.getTime();
//2. 求一天有多少毫秒
long l=1000*60*60*24;
//3.将一天的毫秒乘以7是不是就是7天有多少毫秒
long week=l*7;
//4.将当前的日期的毫秒加上求出的7天的毫秒数就得到7天后的毫秒数了
long newhaomiao=now+week;
//5.Date有三个构造方法,第三个传入的是一个毫秒数,将我们求出的毫秒带入到Date的构造里就可以啦
Date d1=new Date(newhaomiao);
System.out.println("七天后的日期的默认格式为"+d1);
System.out.println("七天后的日期的默认格式化为"+d1.toLocaleString());
}
}

package a;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class a{
public static void main(String[] args) {
// 五.提示用户输入一个时间,如:“2020年11月111日 11时11分11秒,将其转换为毫秒格式
// 1.提示用户输入时间,并指定格式
Scanner s=new Scanner(System.in);
System.out.println("请输入一个时间,格式为“2020年11月11日 11时11分11秒”");
String str=s.nextLine();
//2.声明SimpleDateFormat格式
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
//3.使用parse进行转化(因为字符串转Date的时候容易报错,所以加上异常处理)
try {
//将用户输入的字符串的格式转换为Date类型
Date d=sdf.parse(str);
//将转化后的Date类型的内容转换为毫秒形式
System.out.println("转换后的结果是"+d.getTime());
} catch (Exception e) {
System.out.println("你的格式输入错误");
}
}
}

6.
//六.提示用户输入自己的生日,计算一下该用户活了多少天
package a;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class a{
public static void main(String[] args) {
//1.提示用户输入一个生日,指定格式1999-11-11
Scanner s=new Scanner(System.in);
System.out.println("请输入一个时间,格式为“XXXX年XX月XX日”");
String str=s.nextLine();
//2.声明SimpleDateFormat格式
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日");
//使用parse进行转化(因为字符串转Date的时候容易报错,所以加上异常处理)
try {
//将用户输入的字符串的格式转换为Date类型
Date d=sdf.parse(str);
//将转化后的Date类型的内容转换为毫秒形式
long outtime=d.getTime();
System.out.println("转换后的结果是"+d.getTime());
//3.得到当前的日期,转换为毫秒的形式
//当前的毫秒减去用户输入的毫秒是不是这个毫秒除以每天有多少毫秒就得到多少天了?
//得到当前的日期
Date now=new Date();
//将当前的日期转化为毫秒的形式
long nowtime=now.getTime();
//相减一下
long xiangcha=nowtime-outtime;
//使用这个中间的time除以每天的毫秒数就得到有多少天啦
System.out.println("一共相差"+xiangcha/1000/60/60/24+"天");
} catch (Exception e) {
System.out.println("你的格式输入错误");
}
}
}
