1. 程式人生 > >Calendar set時間時,天數加1,月份的改變

Calendar set時間時,天數加1,月份的改變

Calendar   set方法:

先看原始碼:

/**
 * Sets the values for the calendar fields <code>YEAR</code>,
 * <code>MONTH</code>, and <code>DAY_OF_MONTH</code>.
 * Previous values of other calendar fields are retained.  If this is not desired,
 * call {@link #clear()} first.
 *
 * @param 
year the value used to set the <code>YEAR</code> calendar field. * @param month the value used to set the <code>MONTH</code> calendar field. * Month value is 0-based. e.g., 0 for January. * @param date the value used to set the <code>DAY_OF_MONTH</code> calendar field.
* @see #set(int,int) * @see #set(int,int,int,int,int) * @see #set(int,int,int,int,int,int) */ public final void set(int year, int month, int date) { set(YEAR, year); set(MONTH, month); set(DATE, date); }

問題來了,當呼叫set時(例如2016-08-31),date加1,month會不會改變。

先測試一下and方法:

Calendar cal = Calendar.getInstance
(); //設定時間2016-08-31 cal.set(2016,Calendar.AUGUST,31); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); System.out.println(sdf.format(cal.getTime())); //add 天數加1 cal.add(Calendar.DAY_OF_MONTH, 1); System.out.println(sdf.format(cal.getTime())); //set 設定天數 cal.set(Calendar.DAY_OF_MONTH, 1); System.out.println(sdf.format(cal.getTime()));
輸出結果如下:


再測試一下date+1:

Calendar cal = Calendar.getInstance();
//設定時間2016-08-31
cal.set(2016,Calendar.AUGUST,31);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
System.out.println(sdf.format(cal.getTime()));
Calendar cal2 = Calendar.getInstance();
cal2.set(cal.get(Calendar.YEAR),cal.get(Calendar.MONTH),cal.get(Calendar.DAY_OF_MONTH)+1);
System.out.println(sdf.format(cal2.getTime()));
cal2.set(2016,Calendar.AUGUST,360);
System.out.println(sdf.format(cal2.getTime()));
測試結果如下:


相關推薦

Calendar set時間天數1月份改變

Calendar   set方法: 先看原始碼: /** * Sets the values for the calendar fields <code>YEAR</code>, * <code>MONTH</code>

設計四個線程當中共兩個線程每次對j添1另外兩個線程每次對j降低1。循環100次寫出程序。

public read 設計 test6 ng- -m popu div for package cn.usst.DataTest6; /** * 設計四個線程,當中共兩個線程每次對j添加1,另外兩個線程每次對j降低1。循環100次,寫出程序。 * @ * *

vue v-for 獲取了一個時間 然後過濾器 變成了NaN-NaN-NaN為什麼?

vue v-for 獲取了一個時間戳, 然後加過濾器, 變成了NaN-NaN-NaN,不加過濾器,能夠正常顯示出來。這個什麼原因 後臺獲取了一個數據,v-for迴圈顯示出了 ws.craeateTime 是一個13位的毫秒數,formatDate是過濾器 相關程式

//公司有四種職位 經理(Manager) 技術人員(Technician) 銷售(SaleMan) 銷售經理(SaleManager) //每增加一個人工號1 //薪資:經理 8000 技術人員

//公司有四種職位 經理(Manager) 技術人員(Technician) 銷售(SaleMan) 銷售經理(SaleManager) //每增加一個人,工號加1 //薪資:經理 8000 技術人員 300/天 銷售 總額*4% 銷售經理 部門銷售額*2%+4000  

js寫css()方法記得引號“ ”除非是數字

pos 引號 index size z-index roi absolut fff dex js寫css()方法,記得加引號“ ”,除非是數字。如: $("#android").css({ "position": "absolute", "z-index":

SaltStack安裝主機基本命令

自動 自動化 化運維 為什麽選擇SaltStack:可管理主機種類多樣化,如Windows,Linux使用Python開發,對於了解Python用戶進行二次開發簡單部署方便(相對於Ansible復雜,但客戶端安裝部署相對非常簡單了)擴展性強並處理能力強強大的模塊功能,具有很多已有模塊可以處理日常自

css 命名 有的# 有的有的沒。請問下都在什麽情況下用的?

什麽 mil 們的 相對 col ont 水平 示例 ack 【nav{}】這樣的樣式是給特定的標簽直接定義樣式時使用的,這個樣式名稱是跟標簽是相對應的,比如我要給<p></p>這個標簽設置樣式,那我就可以直接寫:p{樣式}就可以,但是這樣寫並沒有特

zabbix監控添主機模板處理圖形中的亂碼自動發現

zabbix添加主機 添加模板 處理圖形中亂碼 自動發現 添加主機 優先添加主機群組,配置-添加主機群組主機-添加主機-群組-選擇剛剛創建的 群組,ip地址填寫客戶端IP, 添加自定義模板, 模板-添加-創建主機名-添加到組添加一個模板名稱aming 在模板下選擇一個想要監控的的項目,復制過來

19.7-19.11 主動與被動模式主機模板處理圖形亂碼

zabbix19.7 主動模式和被動模式 主動或者被動是相對客戶端來講的 被動模式,服務端會主動連接客戶端獲取監控項目數據,客戶端被動地接受連接,並把監控信息傳遞給服務端 主動模式,客戶端會主動把監控數據匯報給服務端,服務端只負責接收即可。 當客戶端數量非常多時,建議使用主動模式,這樣可以降低服務端的壓力。

有一個函式 x x大於1 y等於 { 2x-1 1大於等於x小於10 3x-11 x大於等於10 寫一段程式輸入x輸出y。

題目描述 有一個函式 | x x<1 y= { 2x-1 1<=x<10 | 3x-11 x>=10 寫一段程式,輸入x,輸出y。 將下面的程式填寫完整。 #include <stdio.h> int main() { int x,y;

購物車兩個Adaper可以刪除全選反選數量通過RecycleView巢狀實現

1activity_main.xml主頁面佈局 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/andro

centos更換yum源安裝PHP7.1安裝redis安裝nginx

檢視CentOS版本 cat /etc/centos-release 更換yum源 #找到yum原始檔替換掉 cd /etc/yum.repos.d mv CentOS-Base.repo

今天開始學模式識別與機器學習(PRML)章節5.1Neural Networks神經網路-前向網路。

今天開始學模式識別與機器學習Pattern Recognition and Machine Learning (PRML),章節5.1,Neural Networks神經網路-前向網路。 話說上一次寫這個筆記是13年的事情了···那時候忙著實習,找工作,畢業什麼的就沒寫下去

從撲克牌中隨機抽5張排判斷是不是一個順子即這5張牌是不是連續的。2~10為數字本身A為 1J為11Q為12K為13而大小王可以看成任意數字。

#define  _CRT_SECURE_NO_WARNINGS   #include<stdio.h>   #include<math.h.>   #include<assert.h>   #define n 5   int main()   {    

2017 年程式語言排行榜出爐Python第1php 僅第 8 名

2017年程式語言排行榜出爐了。該排行榜由EEE Spectrum雜誌釋出。在榜單上,我們可以發現,排在前三名的分別為:Python、C、Java 和 C++。被程式設計師稱為“世界上最好的語言”的php,僅僅排名為第8位。對於此次榜單,網友紛紛發表了各自的看法:網友一:千年的程式設計萬年的C!懂的自懂,不解

演算法--中興面試:輸入兩個整數 n 和 m從數列123.......n 中隨意取幾個數, 使其和等於 m

Q題目 程式設計求解 輸入兩個整數 n 和 m,從數列1,2,3…….n 中隨意取幾個數, 使其和等於 m ,要求將其中所有的可能組合列出來. Answer解法 這道題就是一道典型的動態規劃問題了,思路和揹包問題差不多,m就相當於揹包能容納的

輸入兩個整數n和m從數列123...n中隨意取幾個數使其和等於m將其所有可能的組合列出來。 遞迴求解

/* *[email protected] 轉載請註明出處 *問題:輸入兩個整數n和m,從數列1,2,3,...,n中隨意取幾個數, *使其和等於m,將其所有可能的組合列出來。 *求解思路:(遞迴求解) *(1)如果n>m則數列中>m的部分不可能參與組

Pycharm技巧:一鍵引號快速引號批量引號

Pycharm 一鍵加引號,快速加引號,批量加引號,自定義加引號 最近因為工作需要寫了點指令碼,有時候在爬取的時候需要將瀏覽器中的Hearders 複製到Pycharm中使用, 但是複製過來的格式不是需要的鍵值格式,挨個手動敲鍵盤太累,畢竟咱們寫指令碼就是為了解放雙手(手動滑稽): 解決方式

n 支隊伍比賽分別編號為012......n-1已知它們之間的實力對比關係儲存在一個二維陣列w[n][n]中。。。

題目: n 支隊伍比賽,分別編號為0,1,2......n-1,已知它們之間的實力對比關係,儲存在一個二維陣列w[n][n]中,w[i][j] 的值代表編號為i,j 的隊伍中更強的一支,所以w[i][j]=i 或者j,現在給出它們的出場順序,並存儲在陣列order[n]

單例設計模式(餓漢式懶漢式(1有執行緒安全問題2安全高效))

package cn.itcast.mobilesafexian2.test; public class Student { /* (1)單例模式(只需建立一個物件) (外界訪問直接Student.getStudent 即可獲得物件 ) (餓漢式:在載入的時候建立物件{