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 * 計(jì)算商品保質(zhì)期并計(jì)算優(yōu)惠時(shí)間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("請(qǐng)輸入商品的生產(chǎn)日期:");19 String proc=input.next();20 System.out.print("請(qǐng)輸入商品的保質(zhì)期(月):");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();//創(chuàng)建Calendar對(duì)象
27 proCal.setTime(proc);//將時(shí)間設(shè)置為商品的生產(chǎn)日期28 //計(jì)算出商品的保質(zhì)期
29 proCal.add(Calendar.MONTH,exp);30 //將時(shí)間提前兩個(gè)星期
31 proCal.add(Calendar.WEEK_OF_MONTH, -2);32 //將促銷的時(shí)間設(shè)置到本周星期五
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 //創(chuàng)建Calendar對(duì)象
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計(jì)算
19 now.add(Calendar.MONTH,3);//增加月份數(shù)
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 * 日期字符串格式化,字符串轉(zhuǎn)換為日期8 *@authorAdministrator9 *10 */
11 public classSdfDateDemo {12
13 public static void main(String[] args) throwsParseException {14 Date now=newDate();15 //創(chuàng)建日期格式化對(duì)象
16 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");17 String dateInfo=sdf.format(now);18 System.out.println(dateInfo);19 //將日期的字符串轉(zhuǎn)換為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 }
如果想要直接獲取系統(tǒng)時(shí)間的話,這里提供一種較常用的實(shí)現(xiàn)方法:
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");//設(shè)置日期格式
System.out.println(df.format(new Date()));// new Date()為獲取當(dāng)前系統(tǒng)時(shí)間
}
}
另附上一道思考題:
根據(jù)員工入職時(shí)間和合同期計(jì)算下一次簽訂合同時(shí)間。
a.入職日期為指定格式字符串。yyyy-MM-dd
b.合同期單位為月
c.簽訂合同日期為到期前前一個(gè)月份的工作日(遇到周六、日順延到下周一)
d.返回制定格式的字符串。 yyyy/MM/dd。
思
考
時(shí)
間
下面是我的想法:
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("請(qǐng)輸入簽訂合同時(shí)間:");15 String startCal=input.next();16 System.out.print("請(qǐng)輸入合同期(月):");17 int month=input.nextInt();18 Date sellDate=SpecialDay(sdf.parse(startCal),month);19 System.out.println("續(xù)簽合同日期為:"+sdf.format(sellDate));20 }21 public static Date SpecialDay(Date start,intmonth){22 //調(diào)用工廠方法
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 }
思維導(dǎo)圖:
日期符號(hào)格式:
總結(jié)
以上是生活随笔為你收集整理的java date 转换calendar_Java中日期格式(String、Date、Calendar)的相互转换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java string 反序列化_如何将
- 下一篇: Java减少依赖_去掉JAVA部分依赖的