java date 转换calendar_Java中日期格式(String、Date、Calendar)的相互转换
1 packageday20190318;2
3 importjava.text.ParseException;4 importjava.text.SimpleDateFormat;5 importjava.util.Calendar;6 importjava.util.Date;7 importjava.util.Scanner;8 /**
9 * 計算商品保質期并計算優惠時間10 *@authorAdministrator11 *12 */
13 public classProCalendarDemo {14
15 public static void main(String[] args) throwsParseException {16 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");17 Scanner input=newScanner(System.in);18 System.out.print("請輸入商品的生產日期:");19 String proc=input.next();20 System.out.print("請輸入商品的保質期(月):");21 int exp=input.nextInt();22 Date sellDate=specialDay(sdf.parse(proc),exp);23 System.out.println("商品的促銷日期為:"+sdf.format(sellDate));24 }25 public static Date specialDay(Date proc,intexp){26 Calendar proCal=Calendar.getInstance();//創建Calendar對象
27 proCal.setTime(proc);//將時間設置為商品的生產日期28 //計算出商品的保質期
29 proCal.add(Calendar.MONTH,exp);30 //將時間提前兩個星期
31 proCal.add(Calendar.WEEK_OF_MONTH, -2);32 //將促銷的時間設置到本周星期五
33 proCal.set(Calendar.DAY_OF_WEEK,Calendar.FRIDAY);34 returnproCal.getTime();35 }36 }
1 packageday20190318;2
3 importjava.util.Calendar;4 /**
5 * 日期處理6 *@authorAdministrator7 *8 */
9 public classCalendarDemo {10
11 public static voidmain(String[] args) {12 //創建Calendar對象
13 Calendar now=Calendar.getInstance();14 now.set(Calendar.MONTH,4);15 //獲取月份
16 int m=now.get(Calendar.MONTH);17 System.out.println(m);18 //Calendar計算
19 now.add(Calendar.MONTH,3);//增加月份數
20 int n=now.get(Calendar.MONTH);21 System.out.println(n);22 System.out.println(now.getTime());23 }24
25 }
1 packageday20190318;2
3 importjava.text.ParseException;4 importjava.text.SimpleDateFormat;5 importjava.util.Date;6 /**
7 * 日期字符串格式化,字符串轉換為日期8 *@authorAdministrator9 *10 */
11 public classSdfDateDemo {12
13 public static void main(String[] args) throwsParseException {14 Date now=newDate();15 //創建日期格式化對象
16 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");17 String dateInfo=sdf.format(now);18 System.out.println(dateInfo);19 //將日期的字符串轉換為date
20 SimpleDateFormat adf=new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");21 Date date=adf.parse("2018/05/04 10:30:12");22 System.out.println(date);23 }24
25 }
如果想要直接獲取系統時間的話,這里提供一種較常用的實現方法:
import java.util.Date;
import java.text.SimpleDateFormat;
public class NowString {
public static void main(String[] args) {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//設置日期格式
System.out.println(df.format(new Date()));// new Date()為獲取當前系統時間
}
}
另附上一道思考題:
根據員工入職時間和合同期計算下一次簽訂合同時間。
a.入職日期為指定格式字符串。yyyy-MM-dd
b.合同期單位為月
c.簽訂合同日期為到期前前一個月份的工作日(遇到周六、日順延到下周一)
d.返回制定格式的字符串。 yyyy/MM/dd。
思
考
時
間
下面是我的想法:
1 packageday20190318;2
3 importjava.text.ParseException;4 importjava.text.SimpleDateFormat;5 importjava.util.Calendar;6 importjava.util.Date;7 importjava.util.Scanner;8
9 public classStaffContract {10
11 public static void main(String[] args) throwsParseException {12 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");13 Scanner input=newScanner(System.in);14 System.out.print("請輸入簽訂合同時間:");15 String startCal=input.next();16 System.out.print("請輸入合同期(月):");17 int month=input.nextInt();18 Date sellDate=SpecialDay(sdf.parse(startCal),month);19 System.out.println("續簽合同日期為:"+sdf.format(sellDate));20 }21 public static Date SpecialDay(Date start,intmonth){22 //調用工廠方法
23 Calendar startCal=Calendar.getInstance();24 startCal.setTime(start);25 startCal.add(Calendar.MONTH,month);26 startCal.add(Calendar.MONTH,-1);27 if(startCal.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY){28 startCal.add(Calendar.DAY_OF_WEEK,+2);29 returnstartCal.getTime();30 }else if(startCal.get(Calendar.DAY_OF_WEEK)==Calendar.SUNDAY){31 startCal.add(Calendar.DAY_OF_WEEK, +1);32 returnstartCal.getTime();33 }else
34 returnstartCal.getTime();35 }36 }
思維導圖:
日期符號格式:
總結
以上是生活随笔為你收集整理的java date 转换calendar_Java中日期格式(String、Date、Calendar)的相互转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java string 反序列化_如何将
- 下一篇: Java减少依赖_去掉JAVA部分依赖的