![]() ![]() |
靜態的 DateTimeSpan 類別提供決定兩個日期或時間之間的時間量,或新增或扣除時間跨距的函數。 它提供一組處理日期差距的函數。 由於日期跨距只是數字,因此,應用程式可以利用一般數學來處理它們:加、減、乘、除等等。 這個類別是靜態的。 應用程式無法建立這個類別的實例。
這個函數會傳回開始日期加上給定的年數、月數和天數所得出的新日期。 月數可以大於 12,天數可以大於月份中的天數。 唯一的影響是如同有三項不同的作業。 請先加上年數。 之後,利用結果日期來加上月數。 之後,再利用結果日期來增加天數。
當加上月數時,結果日期可能會無效。 例如,1 月 31 日加上一個月,會產生無效日期 2 月 31 日。 這個函數會將日期調整成有效,在這個情況下,如果年份不是閏年,2 月是 28 天,結果日期便是 3 月 3 日。
任何 years、months 或 days 引數都有可能是空值或未定義。 若是如此,會將這個值當作零來處理。
任何 years、months 或 days 引數都有可能是負數。 在這個情況下,結果會如同從基本日期扣除這個單位。
DateTimeSpan.addDate( startDate, years, months, days )
開始日期加上年數、月數和天數所得出的日期。
var startDate = date.parse( "2004-12-31" ); var endDate; endDate = DateTimeSpan( startDate, 1, 0, 0 ); // returns 2005-12-31 endDate = DateTimeSpan( startDate, 0, 1, 0 ); // returns 2005-1-31 endDate = DateTimeSpan( startDate, 0, 0, 1 ); // returns 2005-1-1 endDate = DateTimeSpan( startDate, 1, 1, 1 ); // returns 2005-3-4
這個函數會傳回開始日期加上給定的時數、分數和秒數所得出的新日期。 時數可能會大於 24,分數和秒數可能會大於 60。 唯一的影響是如同有三項不同的作業:請先加上時數。 之後,再利用結果日期來加上分數。 之後,再利用結果日期來加上秒數。
任何 hours、minutes 和 seconds 引數都有可能是空值或未定義。 若是如此,會將這個值當作零來處理。
任何 hours、minutes 和 seconds 引數都有可能是負數。 在這個情況下,結果會如同從基本日期扣除這個單位。
DateTimeSpan.addTime( startDate, hours, minutes, seconds )
開始日期加上時數、分數和秒數所得出的日期。
傳回兩個日期之間的天數。 一天定義為行事曆的一次變更。 因此,從 2 月 27 日下午 11:59:59 到 2 月 28 日午夜是一天,從 2 月 27 日午夜到 2 月 28 日午夜也是一天。
DateTimeSpan.days( startDate, endDate )
傳回兩個日期之間的天數。
這個函數會傳回兩個時間之間的完整時數。 完整一小時定義為「從小時內的給定分鐘到下一小時內同一分鐘」的跨距。 例如,1:23:00 至 2:23:00 是一小時,1:23:00 至 2:22:59 則是零個完整小時。
DateTimeSpan.hours( startDate, endDate )
兩個日期之間的完整小時。
這個函數會傳回兩個時間之間的完整分鐘。 完整一分鐘定義為「從分鐘內的給定秒鐘到下一分鐘內同一秒鐘」的跨距。 例如,1:23:00 至 1:24:00 是一分鐘,1:23:00 至 1:22:59 則是零個完整分鐘。
DateTimeSpan.minutes( startDate, endDate )
兩個日期之間的完整分數。
這個函數會傳回兩個日期之間的完整月數。 一個完整月份定義為「從月中第 n 天到下一月第 n 天」的跨距。 例如,2 月 28 日到 3 月 28 日是一個月,2 月 28 日到 3 月 26 日則是零個完整月份。
DateTimeSpan.months( startDate, endDate )
傳回兩個日期之間的完整月數。
這個函數會傳回兩個時間之間的秒數。
DateTimeSpan.seconds( startDate, endDate )
兩個日期之間的完整分數。
這個函數會傳回開始日期扣除給定的年數、月數和天數所得出的新日期。 月數可以大於 12,天數可以大於月份中的天數。 唯一的影響是如同有三項不同的作業。 請先扣除年數。 之後,利用結果日期來扣除月數。 之後,再利用結果日期來扣除天數。
當扣除月數時,結果日期可能會無效。 例如,從 3 月 30 日扣除一個月,會產生無效日期 2 月 30 日。 這個函數會將日期調整成有效,它會將日期調月份中最後一個有效日期。 在這個情況下,如果年份不是閏年,日期會調整成 2 月 28 日。
任何 years、months 或 days 引數都有可能是空值或未定義。 在這個情況下,會將這個值當作零來處理。
任何 years、months 或 days 引數都有可能是負數。 在這個情況下,結果會如同基本日期加上這個單位。
DateTimeSpan.subDate( startDate, years, months, days )
開始日期扣除年數、月數和天數所得出的日期。
這個函數會傳回開始日期扣除給定的時數、分數和秒數所得出的新日期。 時數可能會大於 24,分數和秒數可能會大於 60。 唯一的影響是如同有三項不同的作業。 請先扣除時數。 之後,利用結果日期來扣除分數。 之後,再利用結果日期來扣除秒數。
任何 hours、minutes 和 seconds 引數都有可能是空值或未定義。 在這個情況下,會將這個值當作零來處理。
任何 hours、minutes 和 seconds 引數都有可能是負數。 在這個情況下,結果會如同基本日期加上這個單位。
DateTimeSpan.subTime( startDate, hours, minutes, seconds )
開始日期扣除時數、分數和秒數所得出的日期。
這個函數會計算兩個日期之間的完整年數。 一個完整年份定義為「從一年中的給定月份、日期、時間,到下一年中的相同月份、日期、時間」。 由於閏年,一個完整年份有時有 365 天,有時有 366 天。
如果任何一個引數不是日期,便會擲出異常狀況。 如果任何一個引數是空值,結果也會是空值。
DateTimeSpan.years( startDate, endDate )
兩個日期之間的完整年數。
![]() ![]() |