2017-06-28 2 views
0

私はの形式で日付/時刻を取得するスクリプトがあります。JavaScriptのDateのtoString変換およびフォーマット

2017-06-15 21:00 

、その後のようにローカル時間とディスプレイに変換:

Thu Jun 15 2017 17:00:00 GMT-0400 (Eastern Daylight Time) 

スクリプト:出力はこのようなものだったので、

$(document).ready(function() { 
    $('.plg-date > .fabrikElement > div').each(function() { 
     var date = $(this).text(); 
     var newdate = new Date(date + " UTC"); 
     console.log(newdate); 
     $(this).text(newdate.toString()); 
    }) 
}) 

どのように私はのtoStringをフォーマットしますか?

Thu Jun 15 2017 5:00:00 PM Eastern Daylight Time 
+1

[日付を見てみましょう.toLocaleString](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString)、それが受け入れるオプション、およびロケールとして未定義を設定する例です。 – James

答えて

1

あなたは外部ライブラリを使用することができる場合、私は​​を使用して、この1つのライナーをお勧めしたい:

moment('2017-06-15 21:00').format('ddd MMM DD YYYY h:mm:ss A') 
// => "Thu Jun 15 2017 9:00:00 PM" 
2

あなた自身で解析する必要があります。スタックオーバーフロールールは推奨することを推奨していませんが、Googleの "javascript date format library"を少し見つけた方がいいかもしれませんが、単純なJavaScriptでやりたいのであれば、自分で文字列を作成するだけです。

すでにDateオブジェクトを作成しているので、その半分になります。

Dateオブジェクトには数字しかないので、Thu,JunおよびEastern Daylight Timeのような文字列はありません。それらのためには、可能な値のリストが必要であり、数値をそれらにマップする必要があります(通常、単純な配列が機能します)。

5:00:00 PM一部について、あなたは12時間(%)をMOD、その後、AMhours < 12場合やPMhours >= 12場合を指定することができます。

const time = (d.getHours() % 12) + ':' + d.getMinutes() + ':' + d.getSeconds() + (d.getHours() < 12 ? 'AM' : 'PM'); 

JavaScriptを完全には提供しません。あなた自身で書くことに挑戦する必要があるからです。何か問題があれば、別の質問をしてください。

toLocaleString()の組み合わせを使用することもできますが、必要なものすべてを実行するわけではありません(たとえば、12時間の日付形式は行いません)。

0

のtoLocaleStringを使用するように@Jamesの提案を使用して()

$(document).ready(function() { 
    $('.plg-date > .fabrikElement > div').each(function() { 
     if($(this).text().length > 0) { 
      var date = $(this).text(); 
      var newdate = new Date(date + " UTC"); 
      var options = { 
       year: 'numeric', 
       month: 'numeric', 
       day: 'numeric', 
       hour: '2-digit', 
       minute: '2-digit', 
       timeZoneName: 'short' 
      } 
      $(this).text(newdate.toLocaleString('en-US', options)); 
     } 
    }) 
}) 
+0

私は上記の答えに感謝しますが、私は本当にプラグインを使用して好きではありません。これは最も合理的な妥協案でした。 –

関連する問題