2014-08-20 15:30:のように日付/時刻を変更する必要があります8/20/2014 3:30 pm
これはjavascriptのDateオブジェクトを使ってできますか?
はい、ネイティブのjavascriptDate()オブジェクトとそのメソッド.
たとえば、次のような関数を作成することができます。
function formatDate(date) {
var hours = date.getHours();
var minutes = date.getMinutes();
var ampm = hours >= 12 ? 'pm' : 'am';
hours = hours % 12;
hours = hours ? hours : 12; // the hour '0' should be '12'
minutes = minutes < 10 ? '0'+minutes : minutes;
var strTime = hours + ':' + minutes + ' ' + ampm;
return date.getMonth()+1 + "/" + date.getDate() + "/" + date.getFullYear() + " " + strTime;
}
var d = new Date();
var e = formatDate(d);
alert(e);
また、am/pmと正しい時刻も表示します。
getFullYear()メソッドを使用し、getYear()メソッドを使用しないことを忘れないでください。
日付部分の場合:(月は0から索引付き、日は1から索引付き)
var date = new Date('2014-8-20');
console.log((date.getMonth()+1) + '/' + date.getDate() + '/' + date.getFullYear());
当面の間は、さまざまな状況をテストして変換する関数を作成します。
ネイティブのDateオブジェクトに組み込まれたメソッドを使用して、それを確実に実行できるとは思いません。 toLocaleString
メソッドは近づいていますが、正しく記憶しているとIE <10では正しく動作しません。このタスクにライブラリを使用できる場合は MomentJS 本当に素晴らしいライブラリです。そしてそれは日付と時間を扱うのを簡単にします。そうでなければ、私はあなたがあなたがあなたがしているのと同じ形式を与えるために基本的な関数を書く必要があるだろうと思います。
function formatDate(date) {
var year = date.getFullYear(),
month = date.getMonth() + 1, // months are zero indexed
day = date.getDate(),
hour = date.getHours(),
minute = date.getMinutes(),
second = date.getSeconds(),
hourFormatted = hour % 12 || 12, // hour returned in 24 hour format
minuteFormatted = minute < 10 ? "0" + minute : minute,
morning = hour < 12 ? "am" : "pm";
return month + "/" + day + "/" + year + " " + hourFormatted + ":" +
minuteFormatted + morning;
}
出来るよ:
function formatAMPM(date) { // This is to display 12 hour format like you asked
var hours = date.getHours();
var minutes = date.getMinutes();
var ampm = hours >= 12 ? 'pm' : 'am';
hours = hours % 12;
hours = hours ? hours : 12; // the hour '0' should be '12'
minutes = minutes < 10 ? '0'+minutes : minutes;
var strTime = hours + ':' + minutes + ' ' + ampm;
return strTime;
}
var myDate = new Date();
var displayDate = myDate.getMonth()+ '/' +myDate.getDate()+ '/' +myDate.getFullYear()+ ' ' +formatAMPM(myDate);
console.log(displayDate);