有圖有真相!Java oop(5道題):當(dāng)前日期自定義格式化,計算一下該用戶活了多少天等

點(diǎn)個贊,投幣,收藏和關(guān)注后不迷路!

知識點(diǎn):
// before(Date d):判斷比較是否小于d
// after(Date d):判斷是否大于d
// getYear():獲取年
// getMonth():獲取月
// getDate():獲取日
// getHours():獲取小時
// getMinutes():獲取分鐘?
// getSeconds():獲取秒
// getDay():獲取周幾
// getTime():將日期時間轉(zhuǎn)化為長整形
// before(Date d):判斷比較是否小于d
//接下來內(nèi)容我都打上注釋,大家看著我寫的之后,自己試一下
//bofore:比較兩個時間哪個大





1.
//一、如何來將當(dāng)前日期自定義格式化輸出?
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) {
// 聲明一個當(dāng)前時間
Date d=new Date();
//聲明一個自定義的時間
Date d1=new Date(125,6,1);



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

//比較一下
System.out.println("當(dāng)前時間是不是小于聲明的時間"+d.before(d1));
System.out.println("當(dāng)前時間是不是大于聲明的時間"+d.after(d1));
//getYear():獲取年份
System.out.println("當(dāng)前的年份是"+(d.getYear()+1900));
System.out.println("當(dāng)前的月份是"+(d.getMonth()+1));
System.out.println("當(dāng)前的日是"+d.getDate());
System.out.println("當(dāng)前的小時是"+d.getHours());
System.out.println("當(dāng)前的分鐘是"+d.getMinutes());
System.out.println("當(dāng)前的秒"+d.getSeconds());
System.out.println("當(dāng)前是周幾"+d.getDay()+1);
System.out.println("當(dāng)前的時間轉(zhuǎn)為毫秒數(shù)是"+d.getTime());
}
}

2.
// 二、提示用戶輸入一個指定的字符串日期,將其轉(zhuǎn)換成為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) {
// 二、提示用戶輸入一個指定的字符串日期,將其轉(zhuǎn)換成為Date格式
// 1.提示用戶輸入一個指定的字符串日期
Scanner s=new Scanner(System.in);
System.out.println("請輸入一個指定的日期,格式為'XXXX年XX月XX日 XX點(diǎn)XX分XX秒'");
String str=s.nextLine();
//將我輸入的日期打印出來
System.out.println(str);
String str1="2019年11月10日 12點(diǎn)12分33秒";
// 2.聲明轉(zhuǎn)換的格式
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 HH點(diǎn)mm分ss秒");
// 3.使用轉(zhuǎn)換格式的parse()方法進(jìn)行轉(zhuǎn)換為Date格式
try {
// 聲明一個空的日期對象
// 使用格式化對象的parse()方法將用戶輸入的日期進(jìn)行轉(zhuǎn)換為Date格式
Date dd=sdf.parse(str1);
// 打印轉(zhuǎn)換后的日期的默認(rèn)格式?
System.out.println(dd);
// 打印轉(zhuǎn)換后的日期的通用格式
System.out.println(dd.toLocaleString());
} catch (Exception e) {
System.out.println("你輸入的格式不對");
}
}
}

擴(kuò)展:











// 三.計算一下一天有多少毫秒
// 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+"毫秒");
}
}

// 四.將當(dāng)前時間加上一周,打印一周后的時間
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.求出來當(dāng)前日期并將這個日期轉(zhuǎn)為毫秒的形式
Date d=new Date();
long now=d.getTime();
//2. 求一天有多少毫秒
long l=1000*60*60*24;
//3.將一天的毫秒乘以7是不是就是7天有多少毫秒
long week=l*7;
//4.將當(dāng)前的日期的毫秒加上求出的7天的毫秒數(shù)就得到7天后的毫秒數(shù)了
long newhaomiao=now+week;
//5.Date有三個構(gòu)造方法,第三個傳入的是一個毫秒數(shù),將我們求出的毫秒帶入到Date的構(gòu)造里就可以啦
Date d1=new Date(newhaomiao);
System.out.println("七天后的日期的默認(rèn)格式為"+d1);
System.out.println("七天后的日期的默認(rèn)格式化為"+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秒,將其轉(zhuǎn)換為毫秒格式
// 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進(jìn)行轉(zhuǎn)化(因?yàn)樽址D(zhuǎn)Date的時候容易報錯,所以加上異常處理)
try {
//將用戶輸入的字符串的格式轉(zhuǎn)換為Date類型
Date d=sdf.parse(str);
//將轉(zhuǎn)化后的Date類型的內(nèi)容轉(zhuǎn)換為毫秒形式
System.out.println("轉(zhuǎn)換后的結(jié)果是"+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進(jìn)行轉(zhuǎn)化(因?yàn)樽址D(zhuǎn)Date的時候容易報錯,所以加上異常處理)
try {
//將用戶輸入的字符串的格式轉(zhuǎn)換為Date類型
Date d=sdf.parse(str);
//將轉(zhuǎn)化后的Date類型的內(nèi)容轉(zhuǎn)換為毫秒形式
long outtime=d.getTime();
System.out.println("轉(zhuǎn)換后的結(jié)果是"+d.getTime());
//3.得到當(dāng)前的日期,轉(zhuǎn)換為毫秒的形式
//當(dāng)前的毫秒減去用戶輸入的毫秒是不是這個毫秒除以每天有多少毫秒就得到多少天了?
//得到當(dāng)前的日期
Date now=new Date();
//將當(dāng)前的日期轉(zhuǎn)化為毫秒的形式?
long nowtime=now.getTime();
//相減一下
long xiangcha=nowtime-outtime;
//使用這個中間的time除以每天的毫秒數(shù)就得到有多少天啦
System.out.println("一共相差"+xiangcha/1000/60/60/24+"天");
} catch (Exception e) {
System.out.println("你的格式輸入錯誤");
}
}
}
