Java(改進(jìn)版):Date,當(dāng)前時(shí)間,格式化,當(dāng)前日期加上7天,計(jì)算活了天,元旦,毫秒

//1.使用Date類獲取當(dāng)前時(shí)間并進(jìn)行格式化輸出
package a;
import java.util.Date;
public class lizi {
public static void main(String[] args) {
// 聲明一個(gè)當(dāng)前時(shí)間
Date d = new Date();
System.out.println("獲取當(dāng)前時(shí)間并進(jìn)行格式化輸出:" + (d.getYear() + 1900) + "年"
+ (d.getMonth() + 1) + "月" + d.getDate() + "日" + d.getHours()
+ "小時(shí)" + d.getMinutes() + "分鐘" + d.getSeconds() + "秒");
}
}



// 2.將輸入的字符串類型的時(shí)間轉(zhuǎn)換成Date類型
package a;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class lizi {
public static void main(String[] args) {
// 提示用戶輸入一個(gè)指定的字符串日期:
Scanner s = new Scanner(System.in);
System.out.println("請(qǐng)輸入一個(gè)指定的日期,格式為'XXXX年XX月XX日 XX點(diǎn)XX分XX秒'");
String str1 = s.nextLine();
// 將輸入的日期打印出來(lái):
System.out.println(str1);
// 2.聲明轉(zhuǎn)換的格式:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH點(diǎn)mm分ss秒");
try {
// 使用格式化對(duì)象的parse()方法將用戶輸入的日期進(jìn)行轉(zhuǎn)換為Date格式:
Date dd = sdf.parse(str1);
// 打印轉(zhuǎn)換后的日期的默認(rèn)格式 :
System.out.println("日期的默認(rèn)格式Date類型:" + dd);
// 打印轉(zhuǎn)換后的日期的通用格式:
System.out.println("日期的通用格式:" + dd.toLocaleString());
} catch (Exception e) {
System.out.println("你輸入的格式不對(duì)");
}
}
}



// 3.將當(dāng)前日期加上7天
package a;
import java.util.Date;
public class lizi {
public static void main(String[] args) {
// 聲明一個(gè)當(dāng)前時(shí)間
Date d = new Date();
System.out.println("當(dāng)前日期加上7天后:" + (d.getYear() + 1900) + "年"
+ (d.getMonth() + 1) + "月" + (d.getDate() + 7) + "日"
+ d.getHours() + "小時(shí)" + d.getMinutes() + "分鐘" + d.getSeconds()
+ "秒");
}
}



// 4.計(jì)算你到現(xiàn)在活了多少天
package a;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
public class lizi {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.println("請(qǐng)輸入出生年月日,格式為“XXXX年XX月XX日”");
String str = s.nextLine();
// 聲明SimpleDateFormat格式:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
try {
// 將用戶輸入的字符串的格式轉(zhuǎn)換為Date類型:
// 使用parse進(jìn)行轉(zhuǎn)化(因?yàn)樽址D(zhuǎn)Date的時(shí)候容易報(bào)錯(cuò),所以加上異常處理):
Date d = sdf.parse(str);
// 將轉(zhuǎn)化后的Date類型的內(nèi)容轉(zhuǎn)換為毫秒形式
long outtime = d.getTime();
System.out.println("轉(zhuǎn)換后的結(jié)果是" + d.getTime()+"毫秒");
// 得到當(dāng)前的日期,轉(zhuǎn)換為毫秒的形式:
// 當(dāng)前的毫秒減去用戶輸入的毫秒,這個(gè)毫秒除以每天有多少毫秒就得到天數(shù):
// 得到當(dāng)前的日期:
Date now = new Date();
// 將當(dāng)前的日期轉(zhuǎn)化為毫秒的形式 :
long nowtime = now.getTime();
// 相減一下:
long xiangcha = nowtime - outtime;
// 使用這個(gè)中間的time除以每天的毫秒數(shù)就得到有多少天:
System.out.println("你活了:" + xiangcha / 1000 / 60 / 60 / 24 + "天");
} catch (Exception e) {
System.out.println("你的格式輸入錯(cuò)誤");
}
}
}









// 5.計(jì)算今年還有多少毫秒就過(guò)元旦了。
package a;
import java.util.Date;
public class lizi {
public static void main(String[] args) {
Date yuandanshijian = new Date(120, 1, 1);/* 1900+120年1月1日 */
long yuandanshijianmiaoshu = yuandanshijian.getTime();
Date dangqianshijian = new Date();
long dangqianshijianmiaoshu = dangqianshijian.getTime();
long haomiaoshu = yuandanshijianmiaoshu - dangqianshijianmiaoshu;
System.out.println("今年還有" + haomiaoshu + "毫秒就過(guò)元旦了,負(fù)數(shù)代表元旦已過(guò)");
}
}


