MM/DD/YYYY 日付を長い日付に変換しようとしています。たとえば、02/12/2013
は のようなものに変換されますTuesday February 12 2013
。
MomentJS やその他の JS メソッドを見てきましたが、実際に望んでいたことは何もありませんでした。または、少なくとも、私はそうは思いませんでした。
この日付変換を正確に行う方法はありますか?
MM/DD/YYYY 日付を長い日付に変換しようとしています。たとえば、02/12/2013
は のようなものに変換されますTuesday February 12 2013
。
MomentJS やその他の JS メソッドを見てきましたが、実際に望んでいたことは何もありませんでした。または、少なくとも、私はそうは思いませんでした。
この日付変換を正確に行う方法はありますか?
Date
使用できる他のスクリプトといくつかの配列が必要ない場合
var days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
var now = new Date('02/12/2013');
console.log(days[now.getDay()] + ' ' + months[now.getMonth()] + ' ' + now.getDate() + ' ' + now.getFullYear()); //Tuesday February 12 2013
moment.js を使用して、
JavaScript Date オブジェクトを使用して、このようにすることができます
var date = new Date(2013, 1, 12);
console.log(moment(date).format('dddd MMMM D Y'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.0/moment.min.js"></script>
日付文字列を長い日付形式文字列に変換する場合は、次のようにできます。
var longDateStr = moment('02/12/2013', 'M/D/Y').format('dddd MMMM D Y');
console.log(longDateStr);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.0/moment.min.js"></script>
最新のブラウザでは、Intl APIを使用できます
Intl オブジェクトは ECMAScript 国際化 API の名前空間であり、言語に依存した文字列の比較、数値の書式設定、および日付と時刻の書式設定を提供します。Collator、NumberFormat、および DateTimeFormat オブジェクトのコンストラクターは、Intl オブジェクトのプロパティです。
解析は手動で実行されます。Date.parse
ES5 までは、文字列の解析は完全に実装に依存していたため、Date.parse の使用はお勧めしません。異なるホストが日付文字列を解析する方法にはまだ多くの違いがあるため、日付文字列は手動で解析する必要があります (多くの異なる形式に対応する必要がある場合は、ライブラリが役立ちます)。
Date.UTCparts
は、Intl.DateTimeFormat#formatの日付を提供するために使用されます。
Date.UTC() メソッドは、コンストラクターの最長形式と同じパラメーターを受け入れ、1970 年 1 月 1 日 00:00:00 (世界時) からのミリ秒数を Date オブジェクトで返します。
最後に、要件に一致するように,
、書式設定された文字列から 's が削除されます。en-US
const parts = '02/12/2013'.split('/');
parts.unshift(parts.pop());
parts[1] -= 1;
const dateString = new Intl.DateTimeFormat('en-US', {
weekday: 'long',
year: 'numeric',
month: 'long',
day: 'numeric',
timeZone: 'UTC'
}).format(Date.UTC(...parts)).replace(/,/g, '');
console.log(dateString);
プレーンな Javascript Date メソッドを同様のものに使用できます。
var date = new Date("01/01/2000")
date.toDateString() //"Sat Jan 01 2000"
FullJS :
function mydate(date)
{
var
month = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
days = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']
;
return days[date.getDay()]+' '+month[date.getMonth()]+' '+date.getDate()+' '+date.getFullYear()
}
console.log(mydate(new Date()));
参照: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
瞬間を利用して、
moment().format('dddd MMMM Do YYYY');
momentJS のメイン ページで、可能なすべての日付形式のリストを確認できます ( http://momentjs.com/ )。
Do
日付に「nth」を足しD
て、数字だけを表示するようにしますが、すべて文字で書くので、「nth」を使用した方がよいでしょう