0

私はこのタイムスタンプを持っています: 私は2013-03-22T12:25:19次のようなものに変換する必要があります:10:41 AM on Mon 07 Oct

私が使用するtoString()と、次のようになります:Fri Mar 22 2013 12:25:19 GMT+0000 (GMT)

それを私が望むものに変換する最も簡単なコードは何ですか?

etc を使用getMonth()してフォーマットしますか、それとも分割するのが最善ですか? ここでいくつかの異なる回答を読みましたが、この状況に最適なものはわかりません。以前は、次のようなものを単純に使用していました。

d = new Date(myDate);

yyyy = d.getFullYear().toString();
mm = d.getMonth().toString();
dd = d.getDate().toString();
hh = d.getHours().toString();
mi = d.getMinutes().toString();

その場合、それが最善のアプローチであるかどうかわかりませんか?

4

3 に答える 3

2

簡単な方法は、moment.js のような作成済みのライブラリを使用することです!

組み込みの形式オプションを使用して、正しい出力を取得します。例:

moment(yourDateStr).format("dddd, MMMM Do YYYY, h:mm:ss a");

于 2013-10-25T18:15:39.890 に答える
2

date.jsは非常に優れたプラグインであると考える必要があります。

<html>
<script type="text/javascript" src="http://www.datejs.com/build/date.js"></script>
<script>
alert(new Date().toString("hh:mm tt"));
</script>
</html>

完全に機能します-月と曜日の場合:

var now = new Date();
var dayNames = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");

alert("Today is " + dayNames[now.getDay()] + ".");

var monthNames = [ "January", "February", "March", "April", "May", "June",
"July", "August", "September", "October", "November", "December" ];

alert("The current month is " + monthNames[now.getMonth()]);

それは理にかなっていますか?

于 2013-10-25T18:12:18.947 に答える
0

返信ありがとうございますが、サイズを抑える必要があるため、ライブラリを使用したくありませんでした。

私はこれに行きました:

function dateFormat(stamp){
  var d = new Date(stamp);
  var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
  var days = ['Mon','Tue','Wed','Thurs','Fri','Sat','Sun'];
  var month = months[d.getMonth()];
  var dayText = days[d.getDay()];
  var day = d.getDate();
  var hour = d.getHours();
  var min = d.getMinutes();
  var hours = d.getHours();
  var ampm = hours >= 12 ? 'PM' : 'AM';
  hours = hours % 12;
  hours = hours ? hours : 12;

  return hours + ':' + min + ' ' + ampm + ' on ' + dayText + ' ' + day + ' ' + month;
}
dateFormat('2013-03-22T17:25:19');

それは私が欲しいもののスペシャリストですが、これはサイズを抑えるのに役立ちます.

于 2013-10-28T22:02:15.293 に答える