日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Calendar之商品促销活动

發布時間:2023/12/8 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Calendar之商品促销活动 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Calendar之商品促銷活動日期

直接看題目:

計算商品促銷日期:
商場需要在一件商品過期的前兩周的周五開始做促銷
計算商品過期日期往前推兩周的周五的日期

public class ShangPinCuXiao {public static void main(String[] args) {//定義一個鍵盤掃描器Scanner in = new Scanner(System.in);//提示用戶輸入的時間及格式System.out.println("請輸入商品的過期時間:(格式:2020-05-20)");//使用str變量來接收用戶輸入的時間String str = in.nextLine();//格式化時間SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Date date = null;try {//調用SimpleDateFormat的parse方法,轉換成date類型date = sdf.parse(str);} catch (ParseException e) {e.printStackTrace();}//創建格林威治時間對象Calendar cal = Calendar.getInstance();//將用戶輸入的時間傳入格林威治中cal.setTime(date);//兩周也就是14天cal.add(Calendar.DAY_OF_YEAR, -14);//設置本周的周五cal.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY);//將格林威治時間轉換成date類型date = cal.getTime();//進行格式化成String類型String after = sdf.format(date);//最終輸出時間System.out.println("商品要開始促銷的時間是:"+after);} }

這里面使用到的知識點有:

鍵盤掃描器(不做介紹)

格式化時間:SimpleDateFormat

y:年 yyyy:四位年顯示

M:月 MM:兩位月顯示

d:日 dd:兩位日顯示

a:上午and下午顯示

E:星期

H:時 HH:兩位時顯示

m:分 mm:兩位分顯示

s:秒 ss:兩位秒顯示

字符串轉Date:
String str = "2020-05-20 13:14:52"; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //因為Date有一個ParseException異常,可以throws拋出去,也可以try{}catch(){},這里推薦try{}catch(){} Date date = null; try{//sdf.parse();該方法是字符串轉date類型得方法date = sdf.parse(str);System.out.println(date); }catch(ParseException e){e.printStackTrace(); }
Date轉字符串:
//首先獲取一個當前Date類型時間 Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //sdf.format();該方法是將Date類型時間轉換為String類型 String str = sdf.format(date); System.out.println(str);
時間類:Date:
//Date類型的創建,獲取的是當前時間 Date date = new Date(); //輸出當前時間 System.out.println(date);//Fri May 29 23:27:04 CST 2020

因為Date類型獲取時間的方式存在千年蟲的問題,也就是需要在需要在獲取的年份+1900

在早期的計算機程序中規定的年份用兩位數表示,也就是說,假如是1971年,在計算機里就會被表示為71,但是到了2000年的時候這個情況就出現了問題,
計算機就會將其年份表示為00。這樣的話計算機內部對年份的計算就會出現問題。這個事情當時被稱為千年蟲

并且Date的很多方法都是過時的了,比如說:


所以我們不用Date來獲取時間,但是我們用Date類型來創建時間

格林威治時間:Calendar

Calendar類是java.util包中提供的抽象類,從jdk1.1開始出現了,是Date類的替代方案,Calendar類中包含了對不同國家地區日歷的處理
Calendar常見的子類:java.util.GregorianCalendar;(既然是抽象類,我們需要通過子類來創建對象)

使用Calendar創建對象的兩種方法:

(1) Calendar是抽象類,可以通過子類GregorianCalendar去創建對象:
Calendar cal=new GregorianCalendar();

(2)使用靜態工廠方法獲取對象
Calendar cal=Calendar.getInstance();

Calendar的設置修改日期的方法:

get():獲取日歷字段的值

set();設置日歷字段的值

add();會自動進行調整

roll();添加時間量,只會在指定的字段進行調整

//創建Calendar對象 Calendar cal = Calendar.getInstance(); //輸出時間 System.out.println(cal); //獲取現在時間 Date date = cal.getTime(); System.out.println(date);//輸出當前時間 //獲取年份,此種方式沒有千年蟲問題 System.out.println("年份為:"+cal.get(Calendar.YEAR)); //獲取月份 月份從0開始 System.out.println("月份為:"+(cal.get(Calendar.MONTH)+1)); //獲取一個月的某一天 System.out.println("日期為:"+cal.get(Calendar.DATE));

Calendar類中的方法較多,這里隨便拿幾個做例子,大家可以去查看api文檔仔細看里面的方法進行使用

謝謝大家觀看,咱們下期再見~~~~

總結

以上是生活随笔為你收集整理的Calendar之商品促销活动的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。