此篇文章比較偏向 Extjs 需要了解的輔助方法,與 MVC 4 WebApi 比較沒有關係。
格式符號 | 說明 | 返回值範例 |
---|---|---|
d | 月份中的天數,2 位數,不足補 0 | 01 至 31 |
D | 該日期的星期縮寫,3 個字母 | Mon 至 Sun |
j | 月份中的天數,不補 0 | 1 至 31 |
l | 該日期的星期完整文字表示 | Sunday 至 Saturday |
N | 該日期的星期 ISO-8601 數字表示法 | 1 ( Monday )至 7 ( Sunday ) |
S | 月份中日期序數的後綴字詞,2 個字母,通常與 j 一起使用 | 1 至 31 |
w | 該日期的星期數字表示法 | 0 ( Sunday ) 至 6 ( Saturday ) |
z | 該日期一年中的天數 | 0 至 364 ( 閏年為 365 ) |
W | 該日期一年中的 ISO-8601 週數,一星期以 Monday 開始 | 01 至 53 |
F | 月份完整文字表示 | January 至 December |
m | 月份的數字表示法,2 位數,不足補 0 | 01 至 12 |
M | 月份的縮寫 | Jan 至 Dec |
n | 月份的數字表示法,2 位數,不補 0 | 1 至 12 |
t | 該日期的月份中天數 | 28 至 31 |
L | 是否為閏年 | 1 ( 是 ) 或 0 ( 否 ) |
o | ISO-8601 的年份數字(與 Y ㄧ樣,但若對應日期 ISO 星期 W 屬於之前一年或後一年,則會使用該年份數字) | 1998 或 2004 |
Y | 年份的完整數字表示法 | 1999 至 2003 |
y | 年份的 2 位數字表示法 | 99 至 03 |
a | 該日期時間上午或下午小寫表示法 | am 至 pm |
A | 該日期時間上午或下午大寫表示法 | AM 至 PM |
g | 12 小時制格式表示的小時數,不補 0 | 1 至 12 |
G | 24 小時制格式表示的小時數,不補 0 | 0 至 23 |
h | 12 小時制格式表示的小時數,2 位數,不足補 0 | 01 至 12 |
H | 24 小時制格式表示的小時數,2 位數,不足補 0 | 00 至 23 |
i | 分鐘數,2 位數,不足補 0 | 00 至 59 |
s | 秒鐘數,2 位數,不足補 0 | 00 至 59 |
u | 秒的小數 | 001 (即:0.001s) 或 100 (即:0.100s) 或 999 (即:0.999s) 或 999876543210 (即:0.999876543210s) |
O | 以時鍾及分鍾數表示與格林威治間 (GMT) 之差 | +0800 |
P | 以時鍾及分鍾數表示與格林威治間 (GMT) 之差,冒號隔開 | +08:00 |
T | 電腦所在時區的縮寫 | EST、MDT、PDT ... |
Z | 以秒數表示時區偏移 (如果在 UTC 的西邊為負數,東邊為正數) | -43200 至 50400 |
c | ISO 8601日期,請參考:http://www.w3.org/TR/NOTE-datetime | 2014-02-19T14:52:13+08:00 |
U | 自 January 1 1970 00:00:00 GMT 以來的秒數 | 1193432466 或 -2138434463 |
MS | MICROSOFT AJAX 序列化日期/td> | /Date(1392793013337)/ |
time | 自 January 1 1970 00:00:00 GMT 以來的毫秒數 | 1350024476440 |
timestamp | 自 January 1 1970 00:00:00 GMT 以來的秒數與 U 相同 | 1350024866 |
以下是常見的標準日期時間的格式,這不內建於 Ext.Date 內,可以在程式碼共用地區加上此程式碼,就可以在所有地方執行,你可以任意增刪此格式,讓它對於你的程式更加完整。
Ext.Date.patterns = { ISO8601Long: "Y-m-d H:i:s", ISO8601Short: "Y-m-d", ShortDate: "n/j/Y", LongDate: "l, F d, Y", FullDateTime: "l, F d, Y g:i:s A", MonthDay: "F d", ShortTime: "g:i A", LongTime: "g:i:s A", SortableDateTime: "Y-m-d\\TH:i:s", UniversalSortableDateTime: "Y-m-d H:i:sO", YearMonth: "F, Y" };
在程式碼上就可以這樣使用:
var dt = new Date(); Ext.Date.format(dt, Ext.Date.patterns.ShortDate);
Ext.Date 方法
add
日期加法運算
// 基本用法 var dt = Ext.Date.add(new Date('10/29/2006'), Ext.Date.DAY, 5); console.log(dt); // returns 'Fri Nov 03 2006 00:00:00' // 負值會扣除 var dt2 = Ext.Date.add(new Date('10/1/2006'), Ext.Date.DAY, -5); console.log(dt2); // returns 'Tue Sep 26 2006 00:00:00' // 小數也可以使用 var dt3 = Ext.Date.add(new Date('10/1/2006'), Ext.Date.DAY, 1.25); console.log(dt3); // returns 'Mon Oct 02 2006 06:00:00'
between
檢查日期是否在區間日期內
Ext.Date.between(new Date(),new Date("07-19-2014"),new Date("07-21-2014"))
clearTime
清除時間
clone
複製,以下程式碼就能說明,複製出來的修改位置不同
// 錯誤用法: var orig = new Date('10/1/2006'); var copy = orig; copy.setDate(5); console.log(orig); // returns 'Thu Oct 05 2006'! // 正確用法: var orig = new Date('10/1/2006'), copy = Ext.Date.clone(orig); copy.setDate(5); console.log(orig); // returns 'Thu Oct 01 2006'
format
日期輸出格式,文章一開頭有說明格式規則
Ext.Date.format(new Date(),'Y-m-d')
formatContainsDateInfo
是否包含日期格式 (Y 或 m 或 d)
Ext.Msg.alert("提示", Ext.Date.formatContainsHourInfo('Y-m-d H:i:s')); // true
formatContainsHourInfo
是否包含時間格式 (H 或 i 或 s)
Ext.Msg.alert("提示", Ext.Date.formatContainsHourInfo('Y-m-d H:i:s')); // true
getDayOfYear
取得該日期是一年中的第幾天
Ext.Date.getDayOfYear(new Date())
getDaysInMonth
取得該日期之月份的天數
Ext.Date.getDaysInMonth(new Date())
getElapsed
取得兩日期相差之毫秒數
Ext.Date.getElapsed(new Date(), Ext.Date.add(new Date(), Ext.Date.DAY, 1)); // 86400000
getFirstDateOfMonth
取得該日期之月份的第一天日期
Ext.Date.getFirstDateOfMonth(new Date()) // 2014-02-01
getFirstDayOfMonth
取得該日期之月份第一天日期的星期數字表示法,0 ( Sunday ) - 6 ( Saturday )
Ext.Date.dayNames[Ext.Date.getFirstDayOfMonth(new Date())]
getGMTOffset
以時鍾及分鍾數表示與格林威治間 (GMT) 之差
Ext.Msg.alert("提示", Ext.Date.getGMTOffset(new Date()));
getLastDateOfMonth
取得該日期之月份的最後一天日期
Ext.Date.getLastDateOfMonth(new Date())
getLastDayOfMonth
取得該日期之月份第最後一天日期的星期數字表示法,0 ( Sunday ) - 6 ( Saturday )
Ext.Date.dayNames[Ext.Date.getLastDayOfMonth(new Date())]
getMonthNumber
取得月份名稱的數字表示法,0 - 11
Ext.Date.getMonthNumber('May') // 4
getShortDayName
取得星期簡稱,傳入 0 - 6
Ext.Date.getShortDayName(6) // Sat
getShortMonthName
取得月份簡稱
Ext.Date.getShortMonthName(6) // Jul
getSuffix
傳回日期後綴字詞
getTimezone
電腦所在時區的縮寫
getWeekOfYear
取得該日期之一年中的週數
Ext.Date.getWeekOfYear(new Date())
isDST
是否為日光節約時間
isEqual
比較兩日期是否相等
isLeapYear
是否為閏年
isValid
驗證日期是否正確
Ext.Date.isValid(2014, 2, 28) // true Ext.Date.isValid(2014, 2, 29) // false
now
自 January 1 1970 00:00:00 GMT 以來的秒數
parse
字串轉換日期
//dt = Fri May 25 2007 (current date) var dt = new Date(); //dt = Thu May 25 2006 (today's month/day in 2006) dt = Ext.Date.parse("2006", "Y"); //dt = Sun Jan 15 2006 (all date parts specified) dt = Ext.Date.parse("2006-01-15", "Y-m-d"); //dt = Sun Jan 15 2006 15:20:01 dt = Ext.Date.parse("2006-01-15 3:20:01 PM", "Y-m-d g:i:s A"); // attempt to parse Sun Feb 29 2006 03:20:01 in strict mode dt = Ext.Date.parse("2006-02-29 03:20:01", "Y-m-d H:i:s", true); // returns null
subtract
日期減法運算
// 基本用法 var dt = Ext.Date.subtract(new Date('10/29/2006'), Ext.Date.DAY, 5); console.log(dt); // returns 'Tue Oct 24 2006 00:00:00' // 負值會累加 var dt2 = Ext.Date.subtract(new Date('10/1/2006'), Ext.Date.DAY, -5); console.log(dt2); // returns 'Fri Oct 6 2006 00:00:00' // 小數也可以使用 var dt3 = Ext.Date.subtract(new Date('10/1/2006'), Ext.Date.DAY, 1.25); console.log(dt3); // returns 'Fri Sep 29 2006 06:00:00'
unescapeFormat
移除日期格式之逸出字元Ext.Date.unescapeFormat('Y-m-d \\') // Y-m-d
參考與引用:Ext JS 4.2.0文档翻译:Ext.Date、Ext.DateView
沒有留言 :
張貼留言