Bagaimana saya bisa format JavaScript upload objek untuk cetak sebagai 10-Aug-2010
?
toLocaleDateString()
Yang toLocaleDateString()
method ini mengembalikan sebuah string dengan bahasa-sensitif representasi dari bagian tanggal tanggal. Yang terkenal dan pilihan argumen biarkan aplikasi menentukan bahasa dan format konvensi harus digunakan dan memungkinkan untuk menyesuaikan perilaku fungsi.
Semua tombol-tombol ini adalah opsional. Anda dapat mengubah jumlah pilihan nilai-nilai yang didasarkan pada kebutuhan anda, dan ini juga akan mencerminkan kehadiran setiap tanggal waktu panjang.
Catatan: Jika anda hanya akan seperti untuk mengkonfigurasi pilihan konten, tapi masih menggunakan lokal saat ini, lewat null
untuk parameter pertama akan menyebabkan kesalahan. Gunakan undefined
sebagai gantinya.
Anda dapat menggunakan lebih banyak pilihan bahasa.
var options = { weekday: 'long', year: 'numeric', month: 'long', day: 'numeric' };
var today = new Date();
console.log(today.toLocaleDateString("en-US")); // 9/17/2016
console.log(today.toLocaleDateString("en-US", options)); // Saturday, September 17, 2016
console.log(today.toLocaleDateString("hi-IN", options)); // शनिवार, 17 सितंबर 2016
Anda juga dapat menggunakan toLocaleString()
metode untuk tujuan yang sama. Satu-satunya perbedaan adalah fungsi ini menyediakan waktu ketika anda don't lulus setiap pilihan.
// Example
9/17/2016, 1:21:34 PM
Perhatian: Ada jawaban yang lebih baik di bawah ini. Jawaban ini ditulis pada tahun 2010 dan yang lebih baru dan lebih baik solusi telah tiba sejak. OP harus menerima jawaban lain.
function formatDate(date) {
var monthNames = [
"January", "February", "March",
"April", "May", "June", "July",
"August", "September", "October",
"November", "December"
];
var day = date.getDate();
var monthIndex = date.getMonth();
var year = date.getFullYear();
return day + ' ' + monthNames[monthIndex] + ' ' + year;
}
console.log(formatDate(new Date())); // show current date-time in console
Anda dapat mengedit array monthNames
untuk menggunakan Jan, Feb, Mar, dll..
Gunakan tanggal.format perpustakaan:
var dateFormat = require('dateformat');
var now = new Date();
dateFormat(now, "dddd, mmmm dS, yyyy, h:MM:ss TT");
kembali:
Saturday, June 9th, 2007, 5:46:21 PM
Jika anda perlu untuk cepat format tanggal menggunakan JavaScript biasa, menggunakan getDate
, getMonth + 1
, getFullYear
, getHours
dan getMinutes
:
var d = new Date();
var datestring = d.getDate() + "-" + (d.getMonth()+1) + "-" + d.getFullYear() + " " +
d.getHours() + ":" + d.getMinutes();
// 16-5-2015 9:50
Atau, jika anda perlu untuk menjadi empuk dengan nol:
var datestring = ("0" + d.getDate()).slice(-2) + "-" + ("0"+(d.getMonth()+1)).slice(-2) + "-" +
d.getFullYear() + " " + ("0" + d.getHours()).slice(-2) + ":" + ("0" + d.getMinutes()).slice(-2);
// 16-05-2015 09:50
Nah, apa yang saya inginkan adalah untuk mengkonversi hari ini's upload ke MySQL tanggal ramah string seperti 2012-06-23, dan untuk menggunakan string sebagai parameter dalam salah satu dari pertanyaan saya. Solusi sederhana saya've temukan adalah ini:
var today = new Date().toISOString().slice(0, 10);
Perlu diingat bahwa solusi di atas tidak tidak memperhitungkan timezone offset.
Anda mungkin mempertimbangkan untuk menggunakan fungsi ini sebagai gantinya:
function toJSONLocal (date) {
var local = new Date(date);
local.setMinutes(date.getMinutes() - date.getTimezoneOffset());
return local.toJSON().slice(0, 10);
}
Ini akan memberi anda tanggal yang benar dalam kasus anda menjalankan kode ini sekitar awal/akhir hari.
Untuk tetap format, fungsi sederhana membuat pekerjaan. Contoh berikut menghasilkan internasional format YYYY-MM-DD:
fungsi dateToYMD(tanggal) { var d = tanggal.getDate(); var m = tanggal.getMonth() + 1; //Bulan dari 0 sampai 11 var y = tanggal.getFullYear(); kembali '' + y + '-' + (m<=9 ? '0' + m : m) + '-' + (d <= 9 ? '0' + d : d); }
console.log(dateToYMD(new Date(2017,10,5))); // Nov 5
OP format yang dapat dihasilkan seperti:
fungsi dateToYMD(tanggal) { var strArray=['Januari', 'Feb', 'Mar', 'Apr', 'Mei', 'Jun', 'Jul', 'Agustus', 'Sep', 'Oct', 'Nov', 'Dec']; var d = tanggal.getDate(); var m = strArray[tanggal.getMonth()]; var y = tanggal.getFullYear(); kembali '' + (d <= 9 ? '0' + d : d) + '-' + m + '-' + y; } konsol.log(dateToYMD(new Date(2017,10,5))); // Nov 5
Catatan: Hal ini, bagaimanapun, biasanya bukan ide yang baik untuk memperpanjang JavaScript standar perpustakaan (misalnya dengan menambahkan fungsi ini untuk prototipe Date).
Sebuah fungsi yang lebih maju bisa menghasilkan output dikonfigurasi berdasarkan parameter format.
Jika untuk menulis format fungsi terlalu panjang, ada banyak perpustakaan yang tidak. Beberapa jawaban yang lain sudah menghitung mereka. Tetapi meningkatkan dependensi juga memiliki counter-bagian.
Karena versi yang lebih baru dari ECMAScript, Date
kelas memiliki beberapa format tertentu fungsi:
toDateString: Implementasi tergantung, hanya menampilkan tanggal.
http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.todatestring
new Date().toDateString(); // misal "Fri Nov 11 2016"
toISOString: Lihat ISO 8601 tanggal dan waktu.
http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.toisostring
new Date().toISOString(); // misal "2016-11-21T08:00:00.000 Z"
toJSON: Stringifier untuk JSON.
http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.tojson
new Date().toJSON(); // misal "2016-11-21T08:00:00.000 Z"
toLocaleDateString: Implementasi tergantung, tanggal dalam format lokal.
http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.tolocaledatestring
new Date().toLocaleDateString(); // misal "21/11/2016"
toLocaleString: Implementasi tergantung, tanggal&waktu dalam format lokal.
http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.tolocalestring
new Date().toLocaleString(); // misal "21/11/2016, 08:00:00 AM"
toLocaleTimeString: Implementasi tergantung, waktu dalam format lokal.
http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.tolocaletimestring
new Date().toLocaleTimeString(); // misal "08:00:00 AM"
toString: Generic toString untuk Upload.
http://www.ecma-international.org/ecma-262/7.0/index.html#sec-date.prototype.tostring
new Date().toString(); // misal "Fri Nov 21 2016 08:00:00 GMT+0100 (W. Europe Standard Time)"
Catatan: hal ini dimungkinkan untuk menghasilkan output kustom dari orang-orang format >
new Date().toISOString().slice(0,10); //return YYYY-MM-DD
Contoh cuplikan:
konsol.log("1) "+ new Date().toDateString()); konsol.log("2) "+ new Date().toISOString()); konsol.log("3) "+ new Date().toJSON()); konsol.log("4) "+ new Date().toLocaleDateString()); konsol.log("5) "+ new Date().toLocaleString()); konsol.log("6) "+ new Date().toLocaleTimeString()); konsol.log("7) "+ new Date().toString()); konsol.log("8) "+ new Date().toISOString().slice(0,10));
Jika anda sudah menggunakan jQuery UI dalam proyek anda, anda bisa melakukan cara ini:
var formatted = $.datepicker.formatDate("M d, yy", new Date("2014-07-08T09:02:21.377"));
// formatted will be 'Jul 8, 2014'
Beberapa datepicker tanggal pilihan format untuk bermain dengan tersedia di sini.
Saya pikir anda hanya dapat menggunakan non-standard Tanggal metode toLocaleFormat(format string)
format string: format string dalam format yang sama dengan yang diharapkan oleh strftime()
fungsi dalam C.
var today = new Date();
today.toLocaleFormat('%d-%b-%Y'); // 30-Dec-2011
Referensi:
Polos JavaScript adalah memilih yang terbaik untuk usaha kecil onetimers.
Di sisi lain, jika anda membutuhkan lebih banyak upload barang, MomentJS adalah solusi yang bagus.
Misalnya:
moment().format('YYYY-MM-DD HH:m:s'); // now() -> 2015-03-24 14:32:20
moment("20111031", "YYYYMMDD").fromNow(); // 3 years ago
moment("20120620", "YYYYMMDD").fromNow(); // 3 years ago
moment().startOf('day').fromNow(); // 11 hours ago
moment().endOf('day').fromNow(); // in 13 hours
Di browser modern *()**, anda hanya dapat melakukan ini:
var today = new Date().toLocaleDateString('en-GB', {
day : 'numeric',
month : 'short',
year : 'numeric'
}).split(' ').join('-');
Output jika dilaksanakan hari ini (januari 24ᵗʰ, 2016):
'24-Jan-2016'
*() [Menurut MDN]4, "browser modern" berarti Chrome 24+, Firefox 29+, Internet Explorer 11, Edge 12+, Opera 15+ & Safari [nightly**]5.
Anda harus melihat pada date.js. Ia menambahkan banyak perangkat pembantu untuk bekerja dengan tanggal, misalnya, dalam kasus anda:
var date = Date.parse('2010-08-10');
console.log(date.toString('dd-MMM-yyyy'));
Memulai: http://www.datejs.com/2007/11/27/getting-started-with-datejs/
@Sébastien -- alternatif semua browser mendukung
new Date(parseInt(496407600)*1000).toLocaleDateString('de-DE', {
year: 'numeric',
month: '2-digit',
day: '2-digit'
}).replace(/\./g, '/');
Dokumentasi: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString
Saya bisa mendapatkan format yang diminta dalam satu baris menggunakan perpustakaan dan tidak ada Tanggal metode, hanya regex:
var d = (new Date()).toString().replace(/\S+\s(\S+)\s(\d+)\s(\d+)\s.*/,'$2-$1-$3');
// date will be formatted as "14-Oct-2015" (pass any date object in place of 'new Date()')
Update: Karena @RobG mencontohkan, output dari Tanggal.prototipe.toString() adalah implementasi-dependent. Jadi, gunakan dengan hati-hati dan modifikasi jika diperlukan untuk implementasi jika anda menggunakan solusi ini. Dalam pengujian saya, ini bekerja andal di Amerika Utara di mana utama browser (Chrome, Safari, Firefox dan IE) semua kembali sama string format.
Menggunakan ECMAScript Edisi 6 (ES6/ES2015) string template:
let d = new Date();
let formatted = `${d.getFullYear()}-${d.getMonth() + 1}-${d.getDate()}`;
Jika anda perlu untuk mengubah pembatas:
const delimiter = '/';
let formatted = [d.getFullYear(), d.getMonth() + 1, d.getDate()].join(delimiter);
Dikemas Solusi: Luxon
Jika anda ingin menggunakan salah satu solusi untuk cocok untuk semua, saya sangat merekomendasikan menggunakan Luxon (versi modern dari Moment.js) yang juga melakukan format di berbagai locales/bahasa dan banyak fitur lainnya.
Luxon host di Moment.js web dan dikembangkan oleh Moment.js pengembang karena Moment.js memiliki keterbatasan bahwa pengembang ingin anda, tapi tidak't.
Untuk menginstal:
npm install luxon
atau benang tambahkan luxon
(mengunjungi link untuk metode instalasi)
Contoh:
luxon.DateTime.fromISO('2010-08-10').untukformat('yyyy-LLL-dd');
Hasil:
10-Aug-2010
Solusi Manual
Menggunakan format yang sama seperti Moment.js, Kelas DateTimeFormatter (Jawa), dan Class SimpleDateFormat (Jawa), saya menerapkan solusi yang komprehensif formatDate(tanggal, patternStr)
di mana kode ini mudah untuk membaca dan memodifikasi. Anda dapat menampilkan tanggal, waktu, AM/PM, dll. Lihat kode untuk lebih banyak contoh.
Contoh:
formatDate(new Date(), 'EEEE, MMMM d, yyyy HH:mm:ss:S')
(formatDate
ini diimplementasikan dalam cuplikan kode di bawah ini)
Hasil:
jumat, oktober 12, 2018 18:11:23:445
Cobalah kode dengan mengklik "Menjalankan potongan kode."
Tanggal dan Waktu Pola
yy
= 2 digit tahun; yyyy
= tahun penuh
M
= digit bulan; MM
= 2 digit bulan; MMM
= pendek nama bulan; MMMM
= nama bulan lengkap
EEEE
= nama hari lengkap; EEE
= pendek nama hari
d
= digit hari; dd
= 2 digit di malam hari
h
= jam am/pm; hh
= 2 digit jam am/pm; H
= jam; HH
= 2 digit jam
m
= menit; mm
= 2 digit menit; aaa
= AM/PM
s
= detik; ss
= 2 digit detik
S
= miliseconds
var monthNames = [ "januari", "februari", "Maret", "April", "Mungkin", "juni", "juli", "agustus", "november", "oktober", "November", "november" ]; var dayOfWeekNames = [ "minggu", "senin", "selasa", "rabu", "kamis", "jumat", "sabtu" ]; fungsi formatDate(tanggal, patternStr){ jika (!patternStr) { patternStr = 'M/d/yyyy'; } var hari = date.getDate(), bulan = date.getMonth(), tahun = date.getFullYear(), jam = date.getHours(), menit = tanggal.getMinutes(), kedua = tanggal.getSeconds(), miliseconds = tanggal.getMilliseconds(), h = jam % 12, hh = twoDigitPad(h), HH = twoDigitPad(jam), mm = twoDigitPad(menit), ss = twoDigitPad(kedua), aaa = jam < 12 ? 'AM' : 'AM', EEEE = dayOfWeekNames[tanggal.getDay()], EEE = EEEE.substr(0, 3), dd = twoDigitPad(hari), M = bulan + 1, MM = twoDigitPad(M), MMMM = monthNames[bulan], MMM = MMMM.substr(0, 3), yyyy = tahun + "", yy = yyyy.substr(2, 2) ; // memeriksa untuk melihat apakah nama bulan akan digunakan patternStr = patternStr .mengganti('jj', hh).mengganti('h', h) .mengganti('JJ', HH).mengganti('H', jam) .mengganti('mm', mm).mengganti('m', menit) .mengganti('ss', ss).mengganti('s', kedua) .mengganti('S', miliseconds) .mengganti('dd', dd).mengganti('d', di malam hari)
.replace('EEEE', EEEE).replace('EEE', EEE)
.replace('yyyy', yyyy)
.replace('yy', yy)
.replace('aaa', aaa);
if (patternStr.indexOf('MMM') > -1) {
patternStr = patternStr
.replace('MMMM', MMMM)
.replace('MMM', MMM);
}
else {
patternStr = patternStr
.replace('MM', MM)
.replace('M', M);
}
return patternStr;
}
function twoDigitPad(num) {
return num < 10 ? "0" + num : num;
}
console.log(formatDate(new Date()));
console.log(formatDate(new Date(), 'dd-MMM-yyyy')); //OP's request
console.log(formatDate(new Date(), 'EEEE, MMMM d, yyyy HH:mm:ss.S aaa'));
console.log(formatDate(new Date(), 'EEE, MMM d, yyyy HH:mm'));
console.log(formatDate(new Date(), 'yyyy-MM-dd HH:mm:ss.S'));
console.log(formatDate(new Date(), 'M/dd/yyyy h:mmaaa'));
Terima kasih @Gerry untuk membesarkan Luxon.
OK, kami punya sesuatu yang disebut Internasional yang sangat berguna untuk format tanggal di JavaScript hari ini:
Tanggal sebagai berikut:
var date = '10/8/2010';
Dan anda mengubah Tanggal dengan menggunakan new Date() seperti di bawah ini:
date = new Date(date);
Dan sekarang anda dapat memformatnya cara apapun yang anda suka menggunakan daftar terkenal seperti di bawah ini:
date = new Intl.DateTimeFormat('en-AU').format(date); // Australian date format: "8/10/2010"
date = new Intl.DateTimeFormat('en-US').format(date); // USA date format: "10/8/2010"
date = new Intl.DateTimeFormat('ar-EG').format(date); // Arabic date format: "٨/١٠/٢٠١٠"
Jika anda benar-benar ingin format yang anda sebutkan di atas, anda dapat melakukan:
date = new Date(Date.UTC(2010, 7, 10, 0, 0, 0));
var options = {year: "numeric", month: "short", day: "numeric"};
date = new Intl.DateTimeFormat("en-AU", options).format(date).replace(/\s/g, '-');
Dan hasilnya akan menjadi:
"10-Aug-2010"
Untuk lebih lanjut lihat Intl API dan Intl.DateTimeFormat dokumentasi.
Berikut ini's adalah beberapa kode saya hanya menulis untuk menangani format tanggal untuk proyek I'm bekerja pada. Meniru PHP upload format fungsi yang sesuai dengan kebutuhan saya. Merasa bebas untuk menggunakan, itu's hanya memperluas yang sudah ada Tanggal() objek. Ini mungkin tidak menjadi solusi yang paling elegan tapi itu's bekerja untuk kebutuhan saya.
var d = new Date();
d_string = d.format("m/d/Y h:i:s");
/**************************************
* Date class extension
*
*/
// Provide month names
Date.prototype.getMonthName = function(){
var month_names = [
'January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December'
];
return month_names[this.getMonth()];
}
// Provide month abbreviation
Date.prototype.getMonthAbbr = function(){
var month_abbrs = [
'Jan',
'Feb',
'Mar',
'Apr',
'May',
'Jun',
'Jul',
'Aug',
'Sep',
'Oct',
'Nov',
'Dec'
];
return month_abbrs[this.getMonth()];
}
// Provide full day of week name
Date.prototype.getDayFull = function(){
var days_full = [
'Sunday',
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday'
];
return days_full[this.getDay()];
};
// Provide full day of week name
Date.prototype.getDayAbbr = function(){
var days_abbr = [
'Sun',
'Mon',
'Tue',
'Wed',
'Thur',
'Fri',
'Sat'
];
return days_abbr[this.getDay()];
};
// Provide the day of year 1-365
Date.prototype.getDayOfYear = function() {
var onejan = new Date(this.getFullYear(),0,1);
return Math.ceil((this - onejan) / 86400000);
};
// Provide the day suffix (st,nd,rd,th)
Date.prototype.getDaySuffix = function() {
var d = this.getDate();
var sfx = ["th","st","nd","rd"];
var val = d%100;
return (sfx[(val-20)%10] || sfx[val] || sfx[0]);
};
// Provide Week of Year
Date.prototype.getWeekOfYear = function() {
var onejan = new Date(this.getFullYear(),0,1);
return Math.ceil((((this - onejan) / 86400000) + onejan.getDay()+1)/7);
}
// Provide if it is a leap year or not
Date.prototype.isLeapYear = function(){
var yr = this.getFullYear();
if ((parseInt(yr)%4) == 0){
if (parseInt(yr)%100 == 0){
if (parseInt(yr)%400 != 0){
return false;
}
if (parseInt(yr)%400 == 0){
return true;
}
}
if (parseInt(yr)%100 != 0){
return true;
}
}
if ((parseInt(yr)%4) != 0){
return false;
}
};
// Provide Number of Days in a given month
Date.prototype.getMonthDayCount = function() {
var month_day_counts = [
31,
this.isLeapYear() ? 29 : 28,
31,
30,
31,
30,
31,
31,
30,
31,
30,
31
];
return month_day_counts[this.getMonth()];
}
// format provided date into this.format format
Date.prototype.format = function(dateFormat){
// break apart format string into array of characters
dateFormat = dateFormat.split("");
var date = this.getDate(),
month = this.getMonth(),
hours = this.getHours(),
minutes = this.getMinutes(),
seconds = this.getSeconds();
// get all date properties ( based on PHP date object functionality )
var date_props = {
d: date < 10 ? '0'+date : date,
D: this.getDayAbbr(),
j: this.getDate(),
l: this.getDayFull(),
S: this.getDaySuffix(),
w: this.getDay(),
z: this.getDayOfYear(),
W: this.getWeekOfYear(),
F: this.getMonthName(),
m: month < 10 ? '0'+(month+1) : month+1,
M: this.getMonthAbbr(),
n: month+1,
t: this.getMonthDayCount(),
L: this.isLeapYear() ? '1' : '0',
Y: this.getFullYear(),
y: this.getFullYear()+''.substring(2,4),
a: hours > 12 ? 'pm' : 'am',
A: hours > 12 ? 'PM' : 'AM',
g: hours % 12 > 0 ? hours % 12 : 12,
G: hours > 0 ? hours : "12",
h: hours % 12 > 0 ? hours % 12 : 12,
H: hours,
i: minutes < 10 ? '0' + minutes : minutes,
s: seconds < 10 ? '0' + seconds : seconds
};
// loop through format array of characters and add matching data else add the format character (:,/, etc.)
var date_string = "";
for(var i=0;i<dateFormat.length;i++){
var f = dateFormat[i];
if(f.match(/[a-zA-Z]/g)){
date_string += date_props[f] ? date_props[f] : '';
} else {
date_string += f;
}
}
return date_string;
};
/*
*
* END - Date class extension
*
************************************/
Jika anda menggunakan jQuery UI dalam kode anda, ada built-in fungsi yang disebut formatDate()
. Saya menggunakan cara ini untuk format hari ini's upload:
var testdate = Date();
testdate = $.datepicker.formatDate( "d-M-yy",new Date(testdate));
alert(testdate);
Anda dapat melihat banyak contoh-contoh lain dari format tanggal di jQuery UI dokumentasi]1.
JavaScript solusi tanpa menggunakan perpustakaan eksternal:
var now = new Date()
months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
var formattedDate = now.getDate() + "-" + months[now.getMonth()] + "-" + now.getFullYear()
alert(formattedDate)
Yang berguna dan fleksibel cara untuk memformat DateTimes di JavaScript 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,'-'));
Hasilnya Adalah: "12-Oct-2017"
Tanggal dan waktu format dapat disesuaikan dengan menggunakan argumen pilihan.
The Intl.DateTimeFormat
objek konstruktor untuk benda-benda yang memungkinkan bahasa sensitif tanggal dan waktu format.
Sintaks
new Intl.DateTimeFormat([locales[, options]])
Intl.DateTimeFormat.call(this[, locales[, options]])
Parameter
terkenal
Opsional. String dengan BCP 47 tag bahasa, atau sebuah array dari string tersebut. Untuk bentuk umum dan interpretasi terkenal argumen, lihat Intl halaman. Berikut Unicode ekstensi kunci yang diperbolehkan:
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".
****Pilihan
Opsional. Sebuah objek dengan beberapa atau semua dari sifat sebagai berikut:
localeMatcher
Lokal algoritma pencocokan untuk digunakan. Nilai yang mungkin adalah "pencarian"
dan "best fit"
; default adalah "best fit"
. Untuk informasi tentang pilihan ini, lihat Intl halaman.
zona waktu
Zona waktu yang digunakan. Satu-satunya nilai implementasi harus mengenali lebih "UTC"
; default runtime's default zona waktu. Implementasi juga dapat mengenali nama zona waktu dari zona waktu IANA database, seperti "Asia/Shanghai"
, "Asia/Kolkata"
, "America/New_York"
.
hour12
Apakah untuk menggunakan waktu 12-jam (sebagai lawan untuk waktu 24 jam). Nilai yang mungkin adalah benar
dan salah
; default locale tergantung.
formatMatcher
Format algoritma pencocokan untuk digunakan. Nilai yang mungkin adalah "dasar"
dan "best fit"
; default adalah "best fit"
. Lihat paragraf berikut untuk informasi tentang penggunaan properti ini.
Berikut sifat-sifat yang menggambarkan saat-saat komponen untuk digunakan dalam output yang diformat dan mereka yang diinginkan representasi. Implementasi yang diperlukan untuk mendukung setidaknya berikut subset:
weekday, year, month, day, hour, minute, second
weekday, year, month, day
year, month, day
year, month
month, day
hour, minute, second
hour, minute
Implementasi dapat mendukung himpunan bagian lain, dan permintaan akan dinegosiasikan terhadap semua subset-representasi kombinasi untuk menemukan yang paling cocok. Dua algoritma yang tersedia untuk negosiasi ini dan dipilih oleh formatMatcher properti: sepenuhnya ditentukan "dasar"
algoritma dan implementasi tergantung "best fit" algoritma.
hari kerja
Representasi dari hari kerja. Nilai yang mungkin adalah "sempit"
, "short"
, "lama"
.
era
Representasi dari era. Nilai yang mungkin adalah "sempit"
, "short"
, "lama"
.
tahun
Representasi tahun. Nilai yang mungkin adalah "numerik"
, "2 digit"
.
bulan
Representasi dari bulan. Nilai yang mungkin adalah "numerik"
, "2 digit"
, "sempit"
, "short"
, "lama"
.
hari
Representasi hari. Nilai yang mungkin adalah "numerik"
, "2 digit"
.
jam
Representasi jam. Nilai yang mungkin adalah "numerik"
, "2 digit"
.
menit
Representasi menit. Nilai yang mungkin adalah "numerik"
, "2 digit"
.
detik
Representasi kedua. Nilai yang mungkin adalah "numerik"
, "2 digit"
.
timeZoneName
Representasi dari nama zona waktu. Nilai yang mungkin adalah "short"
, "lama"
.
Nilai default untuk masing-masing tanggal-waktu komponen properti adalah tidak terdefinisi, tapi jika semua komponen sifat yang tidak terdefinisi, maka tahun, bulan dan hari yang dianggap "numerik"
.