web-dev-qa-db-ja.com

JavaScriptで日付文字列をフォーマットする

こんにちは私は次のようなISO形式の文字列型の日付フィールドがあります:const date = "2017-06-10T16:08:00:どういうわけか次のような形式で文字列を編集したい:10-06-2017 but iこれを達成するのに苦労しています。「T」文字の後の部分文字列をカットしました

7
user7334203

Moment.js.format関数を使用します。

moment('2017-06-10T16:08:00').format('MM/DD/YYYY');

出力されます

06/10/2017

format関数の横に Moment.js を追加すると、より多くの便利な関数が充実します。

11
daan.desmedt

Moment.jsなしで実現できますが、使用することをお勧めします

var date = new Date("2017-06-10T16:08:00");

var year = date.getFullYear();
var month = date.getMonth()+1;
var day = date.getDate();

if (day < 10) {
  day = '0' + day;
}
if (month < 10) {
  month = '0' + month;
}

var formattedDate = day + '-' + month + '-' + year
11
Ivan Mladenov

日付文字列が常にISO形式の場合、正規表現を使用して他のライブラリなしで再フォーマットすることもできます。

date.replace(/(\d{4})\-(\d{2})\-(\d{2}).*/, '$3-$2-$1')
3
micebrain

私はそれを見つける瞬間を使用することをお勧めします- http://momentjs.com/docs/

そしてそれを

    moment(date.toString()).format("MM/DD/YYYY")
1
Viplock

バニラJavaScriptでこれを行う場合は、@ Ivan Mladenovの答えが優れており、 padStart を使用して少し統合できます。

const date = new Date()
const year = date.getFullYear()
const month = String(date.getMonth() + 1).padStart(2, '0')
const day = String(date.getDate()).padStart(2, '0')

console.log(`${day}-${month}-${year}`)
0
Skipjack

JavaScriptのdate()組み込み関数を使用して、必要な日付/時刻の一部を取得できます。たとえば、時刻を表示するには10:30です。

<script>
var date = new Date();
 var min = date.getMinutes();
  var hour = date.getHour();
   document.write(hour+":"+min);
   </script>

年、月、日、曜日を取得するには

  • getFullYear();

  • getMonth();

  • getDate();

  • getDay();

投稿した日付を取得するには:

0
ArthurKay

Date.toJSON()の使用

function formatDate(userDate) {
  // format from M/D/YYYY to YYYYMMDD
  return (new Date(userDate).toJSON().slice(0,10).split('-').reverse().join('-'));
}

console.log(formatDate("2017-06-10T16:08:00"));
0
monikapatelIT