Một cách hữu ích và linh hoạt để định dạng DateTimes trong JavaScript là Intl.DateTimeFormat
:
var date = new Date();
var options = { year: 'numeric', month: 'short', day: '2-digit'};
var _resultDate = new Intl.DateTimeFormat('en-GB', options).format(date);
// The _resultDate is: "12 Oct 2017"
// Replace all spaces with - and then log it.
console.log(_resultDate.replace(/ /g,'-'));
Kết quả là: "12-Oct-2017"
Các định dạng ngày và giờ có thể được tùy chỉnh bằng cách sử dụng đối số tùy chọn.
Đối Intl.DateTimeFormat
tượng là một hàm tạo cho các đối tượng cho phép định dạng ngày và giờ nhạy cảm với ngôn ngữ.
Cú pháp
new Intl.DateTimeFormat([locales[, options]])
Intl.DateTimeFormat.call(this[, locales[, options]])
Thông số
địa phương
Không bắt buộc. Một chuỗi có thẻ ngôn ngữ BCP 47 hoặc một chuỗi các chuỗi đó. Để biết hình thức chung và giải thích đối số địa phương, xem trang Intl. Các khóa mở rộng Unicode sau đây được cho phép:
nu
Numbering system. Possible values include: "arab", "arabext", "bali", "beng", "deva", "fullwide", "gujr", "guru", "hanidec", "khmr", "knda", "laoo", "latn", "limb", "mlym", "mong", "mymr", "orya", "tamldec", "telu", "thai", "tibt".
ca
Calendar. Possible values include: "buddhist", "chinese", "coptic", "ethioaa", "ethiopic", "gregory", "hebrew", "indian", "islamic", "islamicc", "iso8601", "japanese", "persian", "roc".
Tùy chọn
Không bắt buộc. Một đối tượng có một số hoặc tất cả các thuộc tính sau:
localeMatcher
Các thuật toán phù hợp miền địa phương để sử dụng. Các giá trị có thể là "lookup"
và "best fit"
; mặc định là"best fit"
. Để biết thông tin về tùy chọn này, xem trang Intl.
Múi giờ
Các múi giờ để sử dụng. Việc thực hiện giá trị duy nhất phải công nhận là "UTC"
; mặc định là múi giờ mặc định của thời gian chạy. Triển khai cũng có thể nhận ra những cái tên múi giờ của cơ sở dữ liệu múi giờ IANA, chẳng hạn như "Asia/Shanghai"
, "Asia/Kolkata"
,"America/New_York"
.
giờ12
Có nên sử dụng thời gian 12 giờ (trái ngược với thời gian 24 giờ). Các giá trị có thể là true
vàfalse
; mặc định là phụ thuộc miền địa phương.
formatMatcher
Các thuật toán phù hợp định dạng để sử dụng. Các giá trị có thể là "basic"
và "best fit"
; mặc định là"best fit"
. Xem các đoạn sau để biết thông tin về việc sử dụng tài sản này.
Các thuộc tính sau mô tả các thành phần thời gian ngày để sử dụng trong đầu ra được định dạng và các biểu diễn mong muốn của chúng. Việc triển khai được yêu cầu để hỗ trợ ít nhất các tập hợp con sau:
weekday, year, month, day, hour, minute, second
weekday, year, month, day
year, month, day
year, month
month, day
hour, minute, second
hour, minute
Việc triển khai có thể hỗ trợ các tập hợp con khác và các yêu cầu sẽ được đàm phán với tất cả các kết hợp biểu diễn tập hợp con có sẵn để tìm ra kết quả phù hợp nhất. Hai thuật toán có sẵn cho cuộc đàm phán này và được chọn bởi thuộc tính formatMatcher: Một chỉ định đầy đủ"basic"
Thuật toán và thuật toán "phù hợp nhất" phụ thuộc thực hiện.
các ngày trong tuần
Các đại diện của các ngày trong tuần. Giá trị có thể là "narrow"
, "short"
, "long"
.
kỷ nguyên
Đại diện của thời đại. Giá trị có thể là "narrow"
, "short"
,"long"
.
năm
Các đại diện của năm. Các giá trị có thể là "numeric"
,"2-digit"
.
tháng
Các đại diện của tháng. Giá trị có thể là "numeric"
, "2-digit"
, "narrow"
, "short"
,"long"
.
ngày
Các đại diện trong ngày. Các giá trị có thể là "numeric"
,"2-digit"
.
giờ
Các đại diện của giờ. Giá trị có thể là "numeric"
, "2-digit"
.
phút
Các đại diện của phút. Giá trị có thể là "numeric"
, "2-digit"
.
thứ hai
Các đại diện của thứ hai. Giá trị có thể là "numeric"
, "2-digit"
.
timeZoneName
Các đại diện của tên múi giờ. Giá trị có thể là "short"
, "long"
. Giá trị mặc định cho mỗi thuộc tính thành phần thời gian không được xác định, nhưng nếu tất cả các thuộc tính thành phần không được xác định, thì năm, tháng và ngày được giả sử là"numeric"
.
Kiểm tra trực tuyến
Thêm chi tiết