2017-01-19 15 views
-4

私はJavaScriptで日付オブジェクトを作成する方法を知っているが、私は次の形式で日付と時刻を表示する難しさが午前:のJavaScript(特定の形式で表示し、日付と時刻)

enter image description here

+1

。質問はなんですか? –

+0

日時はどこから来ますか?アウトプットはどこに行くべきですか? – empiric

+0

[* JavaScriptの日付の書式設定に関するドキュメントはどこにありますか?](http://stackoverflow.com/questions/1056728/where-can-i-find-documentation-on-formatting-a-date-in- javascript)。 – RobG

答えて

2

一つの可能​​性のあるこのスニペット実装

  • スタートをdateformatting提供非常に良いライブラリです省略されたmonを含むそれぞれの名前と日の名前です。
  • Dateコンストラクタを使用して新しい日付を作成します。この場合、年、月、日、月、時、分、秒のそれぞれを渡します。ここで心に留めておくべきことがいくつかあります。月は1ではなく0から始まるので、3月の3月を取得するには2を渡す必要があります。時間範囲は0から23までです。したがって、5の代わりに17を渡す必要があります。
  • Fromこの新しい日付オブジェクトは、年、月、日、曜日名、時分秒の変数を作成します。
  • 今日の接尾辞を取得するには、test関数を使用して正規表現を使用する必要があります。日付の文字列の実装に応じて、別の接尾辞を返します。
  • 最後に、これをES6のテンプレート文字列と一緒に使用できます。変数と式を${}の中に囲み、その文字列をバッククォートに入れます。右側の

var months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]; 
 
var days = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]; 
 

 
// Create a new date object and variables based upon this object 
 
var date = new Date(2012,2,13,17,8,57); 
 
var year = date.getFullYear(); 
 
var month = months[date.getMonth()]; 
 
var day  = date.getDate(); 
 
var dayName = days[date.getDay()]; 
 
var hour = date.getHours(); 
 
var minute = date.getMinutes(); 
 
var second = date.getSeconds(); 
 

 
// Control formatting of time 
 
var timePeriod = hour > 12 ? "PM" : "AM"; 
 
hour = hour < 10 ? "0" + hour : hour > 12 ? ((hour % 12) < 10 ? "0" + hour % 12 : hour % 12) : hour; 
 
minute = minute < 10 ? "0" + minute : minute; 
 
second = second < 10 ? "0" + second : second; 
 
               
 
// Return the suffix of the day 
 
day = /[4567890]$|11|12|13/.test(day) ? day + "th" : 
 
     /^1$|21|31/.test(day) ? day + "st" : 
 
     /^2$|22/.test(day) ? day + "nd" : day + "rd"; 
 

 
// Log the results 
 
console.log(`${dayName} ${month} ${day}, ${year}, ${hour}:${minute}:${second} ${timePeriod}`);

3

あなたが考えることができますが現時点での書式設定Momentjsは、その意志二つの配列を作成することにより、 momentjs

チェック

console.log(moment().format('LLLLL')); // J
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>

+1

このようなライブラリはたくさんあります。このタイプの質問に答えるのが適切だった場合は、fecha.js、date.js、XDate、js、countdown.js、cubism.jsなどのライブラリをラウンドアップし、 ECMA-402と[* toLocaleString *](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/format)で、ライブラリをまったく必要としません。 – RobG

関連する問題