IBM BPM - Date
I. Giới thiệu
Date là kiểu data đã quá quen thuộc với chúng ta.
Trong IBM BPM thì Date có phần hơi khác một chút so với Date trong javascript thuần.
II. Sử dụng
1. Tạo date theo ngày hiện tại
// Cách 1
tw.local.date = new Date();
// Cách 2
tw.local.date = new tw.object.Date();
//Cách 3:
tw.local.date = new TWDate();
// Chú ý: Có thể dùng biến var thay cho tw.local (var date ~ tw.local.date)
2. Tạo date theo ngày bất kỳ
// Cách 1:
tw.local.date = new TWDate("yyyy-MM-dd hh:mm:ss.S");
// Ví dụ:
tw.local.date = new TWDate("2019-7-3 13:20:00.000");
// Cách 2:
tw.local.date = new Date(date);
// Ví dụ:
tw.local.date1 = new TWDate("2019-7-3 13:20:00.000");
tw.local.date = new Date(tw.local.date1);
// Cách 3:
tw.local.date = new Date(year, month, day, hours, minutes, seconds, milliseconds);
// Ví dụ:
tw.local.date = new Date(2019,6,3, 10, 30, 0, 20);
tw.local.date = new Date(2019,6,3);
// Chú ý: month tính từ 0 đến 11 (tương ứng tháng 1 đến tháng 12)
// Cách 4:
tw.local.date = new Date(dateString);
// Ví dụ:
tw.local.date = new Date("October 13, 2014 11:13:00");
// Cách 5:
tw.local.date = new Date(miliseconds);
// Ví dụ:
tw.local.date1 = new Date();
tw.local.date = new Date(tw.local.date1.getTime()*1000);
// (Vì getTime trong BPM IBM trả ra đơn vị second nên phải nhân với 1000.)
// Chú ý: Có thể dùng biến var thay cho tw.local (var date ~ tw.local.date)
// Cách 6:
tw.local.date.parse(dateAsString, formatString, timeZoneString, localeString);
// Ví dụ: (Với múi giờ chạy là +7)
tw.local.date = new Date();
tw.local.date.parse("2019-4-13 12:45:00", "yyyy-MM-dd HH:mm:ss"); // => 2019-4-13 12:45:00
tw.local.date = new Date();
tw.local.date.parse("2019-4-13 12:45:00", "yyyy-MM-dd HH:mm:ss", ""); // => 2019-4-13 19:45:00
tw.local.date = new Date();
tw.local.date.parse("2019-4-13 12:45:00", "yyyy-MM-dd HH:mm:ss", "GMT+05:00"); // => 2019-4-13 14:45:00
tw.local.date = new Date();
tw.local.date.parse("12/5/2019", "dd/MM/yyyy"); => 2019-5-12
// timeZoneString là "" => múi giờ 0.
4. Date to String
tw.local.str = tw.local.date.format(formatString, timeZoneString);
// Ví dụ: (Với múi giờ chạy là +7)
tw.local.date.parse("2019-4-13 12:45:00", "yyyy-MM-dd HH:mm:ss");
tw.local.str = tw.local.date.format("dd/MM/yyyy HH:mm:ss"); // => 2019-4-13 12:45:00
tw.local.date.parse("2019-4-13 12:45:00", "yyyy-MM-dd HH:mm:ss");
tw.local.str = tw.local.date.format("dd/MM/yyyy HH:mm:ss", ""); // => 2019-4-13 5:45:00
tw.local.date.parse("2019-4-13 12:45:00", "yyyy-MM-dd HH:mm:ss");
tw.local.str = tw.local.date.format("dd/MM/yyyy HH:mm:ss", "GMT+06:00"); // => 2019-4-13 11:45:00
// timeZoneString là "" => múi giờ 0.
5. Hàm getTime
Trong BPM IBM getTime sẽ trả về giá trị có đơn vị là seconds (khác với javascript trả về đơn vị miliseconds)
1,563,007,179 => IBM BPM getTime()
1,563,007,179,827 => javascript getTime()
6. Hàm getTimezoneOffset
Trả về giá trị timezone so với múi giờ 0 với đơn vị minutes
Với múi giờ GMT+07:00 => timezoneoffset = 7 * 60 = 420
Với múi giờ GMT-07:00 => timezoneoffset = -7 * 60 = -420
Từ hàm này ta có thể đặt lại time cho 1 biến date để thay đổi ngày đó theo timezone hiện tại của server
tw.local.date.setTime(tw.local.date.getTime() + (tw.local.date.getTimezoneOffset() * 60));
Bài viết rất chuyên sâu
Trả lờiXóaTác giả nên viết nhiều bài hơn nữa
Thanks bro :))
XóaBài viết có ý nghĩa thật sâu sắc, cảm ơn sự đóng góp cho cộng đồng BPM của tác giả.
Trả lờiXóa