當前位置:首頁 > IT技術 > Windows編程 > 正文

C#中DateTime的時間加減法操作總結 【轉載】
2021-10-07 11:20:15

在C#語言中,DateTime是用來表示時間的類,在C#的DateTime時間類中,提供了好像時間對象加減法操作,可用于某一個時間對象加減 多少年、加減多少個月、加減多少天、加減多少小時、加減多少分鐘、加減多少秒等操作,此文將總結C#的DateTime類中的時間加減操作運算。

(1)加減多少年操作:AddYears方法,具體參考C#使用AddYears方法獲取當前時間20年后的時刻。

?

在C#語言中,DateTime.Now指的是程序當前時間,針對時間對象的操作,如果要計算某一個時間點N年后對應的時間時刻,則可以使用DateTime類的AddYears方法來實現。此文將介紹當前時間點20年后對應的時間點時刻的實現方式。

AddYears方法的簽名為:DateTime AddYears(int value);,參數value為需要為加減的年數信息,如果value參數為負數時,則表示往前多少年對應的時間點,如果value值為正數則表示往后多少年對應的時間點。

例如獲取當前時間的加上20年對應的時間時刻(程序運行時間為:2019/8/10 9:15:00),編寫代碼如下:

?DateTime result = DateTime.Now.AddYears(20);

運行結果為:result 結果為2039年8月10日 9:15:00。符合實際情況。

如果要獲取當前時間的往前20年對應的時間信息,則可以使用下列代碼。

? DateTime result = DateTime.Now.AddYears(-20);

**************************************************************************************************************************************************

(2)加減多少月操作:AddMonths方法,具體參考C#使用AddMonths方法獲取當前時間幾個月后的時間點。

?

在C#語言中,DateTime.Now指的是程序當前時間,在DateTime類中有一個 AddMonths方法,此方法可用于時間的月數加減,例如某一個時間點加減幾個月后對應的時間點。此文將介紹當前時間加減幾個月對應的時間點,例如當前 時間減去一個月對應的上個月的時間點信息。

AddMonths方法的簽名為:DateTime AddMonths(int months);,參數value為需要為加減的月數,為整型Int類型參數。當參數為負數時候,則表示以計算時間為基準點,向前計算,可以理解為減去多少個月后得到的時間點。

例如獲取當前時間的加上1個月后的時間點(程序運行時間為:2019/8/10 9:15:00),編寫代碼如下:

?DateTime result = DateTime.Now.AddMonths(1);//獲取當前時間往后1個月的時間點

運行結果為:result 結果為2019年9月10日 9:15:00。符合實際情況。

如果要獲取當前時間的往前1個月對應的時間點則可以按下列代碼實現:

? DateTime result = DateTime.Now.AddMonths(-1);

**************************************************************************************************************************************************

(3)加減多少天操作:AddDays方法,具體參考C#使用AddDays方法獲取當前日期前一天。

?

在C#語言中,DateTime.Now指的是程序當前時間,在DateTime類中有一個方法 AddDays方法,此方法主要是將指定天數加到對應的DateTime對象算,一般用來計算某個時間的前幾天或者后幾天。AddDays方法簽名為 DateTime AddDays(double value),參數value代表需要加減的天數,可以為雙精度double類型小數。此文將以此來介紹計算當前時間前一天。

在AddDays方法中,傳入的參數可為正數也可為負數,如果是負數,則是返回計算時間之前的某個日期時間,可以理解為時間減法。

例如獲取當前時間的前一天的這個時間點(程序運行時間為:2019/8/10 9:15:00),編寫代碼如下:

? ? ?DateTime result = DateTime.Now.AddDays(-1);//獲取當前時間的前一天

運行結果為:result 結果為2019年8月9日 9:15:00。符合實際情況。

如果要獲取當前時間的前半天時間,則傳入參數0.5即可,代碼如下:

? ? ?DateTime result = DateTime.Now.AddDays(-0.5);//獲取當前時間的前半天

**************************************************************************************************************************************************

(4)加減多少小時操作:AddHours方法,具體參考C#使用AddHours方法獲取當前時間加減幾個小時的時間。

?

在C#語言中,DateTime.Now指的是程序當前時間,在DateTime類中有一個 AddHours方法,此方法可用于計算時間的加減,參數為加減的小時數。返回結果為某一個時間對象加減多少個小時后得到的新的時間對象。此文將于當當前 加減20個小時為例講解AddHours方法。

AddHours方法的簽名為:?DateTime AddHours(double value),參數value為需要加減的小時數,為雙精度double類型,此參數可以為負數,當參數為負數的時候,則代表指定時間減去多少個小時后得到的時間對象。

例如獲取當前時間的加上20個小時后的時刻(程序運行時間為:2019/8/10 9:15:00),編寫代碼如下:

? DateTime result = DateTime.Now.AddHours(20);//獲取當前時間20個小時后的時刻點

運行結果為:result 結果為2019年8月11日 5:15:00。符合實際情況。

如果要獲取當前時間的前20個小時對應的時刻,則傳入參數-20即可,代碼如下:

? DateTime result = DateTime.Now.AddHours(-20);

**************************************************************************************************************************************************

(5)加減多少分鐘操作:AddMinutes方法,具體參考C#使用AddMinutes方法獲取當前時間加減幾分鐘對應的時刻。

?

在C#語言中,DateTime.Now指的是程序當前時間,在DateTime類中有一個 AddMinutes方法,此方法用于指定時間對象往后多少分鐘或者往前多少分鐘對應的時刻,即指定時間對象加減多少分鐘對應的時間點對象。此文將介紹當 前時間點加減幾分鐘后對應的時間對象的代碼實現。

AddMinutes方法的簽名為:DateTime AddMinutes(double value);,參數value為需要為加減的時間分鐘數,可以為正數也可以為負數,當為正數的情況下,則為往后計算。若為負數,則表示以計算時間點為基準點向前計算。

例如獲取當前時間的加上2分鐘后的時間點(程序運行時間為:2019/8/10 9:15:00),編寫代碼如下:

?DateTime result = DateTime.Now.AddMinutes(2);

運行結果為:result 結果為2019年8月10日 9:17:00。符合實際情況。

如果要獲取當前時間的往前130分鐘對應的時間點,則可以使用下列代碼。

? DateTime result = DateTime.Now.AddMonths(-130);

**************************************************************************************************************************************************

(6)加減多少秒操作:AddSeconds方法,具體參考C#使用AddSeconds方法獲取當前時間加減多少秒數后對應的時間。

?

在C#語言中,DateTime.Now指的是程序當前時間,在DateTime類中有一個 AddSeconds方法,此方法用于計算指定時間對象往后多少秒對應的時間點或者往前多少秒對應的時間點,即指定時間對象加減多少秒數對應的時間點對 象。此文將以當前時間加減多少秒后對應的時間點為例講解。

AddSeconds方法的簽名為:DateTime AddSeconds(double value);,參數value為需要為加減的秒數信息,當value取值為負數時候,則是往前計算多少秒前的時間點,可以理解為時間的減法。

例如獲取當前時間的加上60秒后對應的時間(程序運行時間為:2019/8/10 9:15:00),編寫代碼如下:

?DateTime result = DateTime.Now.AddSeconds(60);

運行結果為:result 結果為2019年8月10日 9:16:00。符合實際情況。

如果要獲取當前時間的往前60秒對應的時間點,則可以使用下列代碼。

? DateTime result = DateTime.Now.AddSeconds(-60);

**************************************************************************************************************************************************

?

?

在C#語言中,DateTime.Now指的是程序當前時間,在DateTime類中有一個方法 AddDays方法,此方法主要是將指定天數加到對應的DateTime對象算,一般用來計算某個時間的前幾天或者后幾天。AddDays方法簽名為 DateTime AddDays(double value),參數value代表需要加減的天數,可以為雙精度double類型小數。此文將以此來介紹計算當前時間前一天。

在AddDays方法中,傳入的參數可為正數也可為負數,如果是負數,則是返回計算時間之前的某個日期時間,可以理解為時間減法。

例如獲取當前時間的前一天的這個時間點(程序運行時間為:2019/8/10 9:15:00),編寫代碼如下:

? ? ?DateTime result = DateTime.Now.AddDays(-1);//獲取當前時間的前一天

運行結果為:result 結果為2019年8月9日 9:15:00。符合實際情況。

如果要獲取當前時間的前半天時間,則傳入參數0.5即可,代碼如下:

? ? ?DateTime result = DateTime.Now.AddDays(-0.5);//獲取當前時間的前半天

**************************************************************************************************************************************************

?

?

在C#語言中,DateTime.Now指的是程序當前時間,通過DateTime.Now變量下的屬性 Year可獲取到當前年,Month可獲取到當前月,可以使用DateTime.DaysInMonth方法來獲取當前月或者指定年份月的天數信 息,DaysInMonth方法簽名為int DaysInMonth(int year, int month),參數year代表年,參數month代表月。

例如獲取當前時間的當前月天數(程序運行時間為:2019/8/10 9:15:00),編寫代碼如下:

? ? ? DateTime nowTime = DateTime.Now;
? ? ? ? ? ? int year = nowTime.Year;//獲取當前年
? ? ? ? ? ? int month = nowTime.Month;//獲取當前月?
? ? ? ? ? ? int monthDays = DateTime.DaysInMonth(year, month);

運行結果為:monthDays=31。符合實際情況。

**************************************************************************************************************************************************

?

在C#中,DateTime是用來表示時間的類,從DateTime.Now中可以獲取當前所在年份。此文 將介紹如果給定一個具體年份,如何通過C#語言來獲取到該年有多少天。最直接的例子為獲取當前年份的天數。在這里主要使用到了 DateTime.IsLeapYear方法,DateTime.IsLeapYear方法是用來判斷閏年的內置方法。

下面實例是獲取當前年(即2019年)的總天數的代碼:

? ?int year = DateTime.Now.Year;//DateTime.Now表示當前時間,從DateTime.Now時間中獲取年份屬性Year

? ? ? ? ? ? int totalDay = 365;//默認為非閏年
? ? ? ? ? ? if (DateTime.IsLeapYear(year))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? totalDay = 366;//DateTime.IsLeapYear判斷結果為閏年,有366天
? ? ? ? ? ? }

從運行結果來看: totalDay = 365。

**************************************************************************************************************************************************

?

在C#中,DateTime是用來表示時間的類,DateTime.Now可以獲取當前時間。如果給定一個 日期,在C#中如何獲取該日期是星期幾呢,例如獲取當前日期時間,并計算出當前日期是星期幾,此功能可以通過DateTime的ToString方法來實 現,指定格式化參數為dddd即可實現。

下面實例是獲取當前日期是星期幾的實例代碼:

string xingQiJi = DateTime.Now.ToString("dddd");

從運行結果來看:xingQiJi=“星期六”。正好符合當前博文發(fā)表時間的實際結果。

?

**************************************************************************************************************************************************

?

本文摘自 :https://www.cnblogs.com/

開通會員,享受整站包年服務立即開通 >