私はトレーニングのために平均売り上げのオークションサイトを構築しています。私は事を理解することにほとんど問題がありません。フロントエンドでは、今日の日付と決算日の差(「30日」など)を表示します。これは、 "2017-04-30T22:10:52.360Z" 。オークション終了日平均売り上げ
$scope.days =function (date) {
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth() + 1; //January is 0!
var yyyy = today.getFullYear();
if (dd < 10) {
dd = '0' + dd
}
if (mm < 10) {
mm = '0' + mm
}
today = yyyy + '/' + mm + '/' + dd;
$scope.today = today;
var date2 = new Date(today);
var date1 = new Date(date);
var timeDiff =(date1.getTime() - date2.getTime());
$scope.dayDifference =((timeDiff/(1000 * 3600 * 24))-1);
return $scope.dayDifference;
}
});
は、明らかに私は、HTMLファイル内の他の日付を渡す 私の質問は次のとおりです:この機能で)「残りの私は、このような何かを行う場合、オークションは、世界の異なる時間に閉じて、今日の日付を引き起こします 私は知っている、momentjsしかし、このバグを修正するためにフロントエンドでこの機能を変更する方法が存在するかどうか疑問に思っていました。何かが好きです:もし私がUSAからサイトに参加すると、その日付は(サーバーの)私のタイムゾーンに変換されます
* date *の形式は何ですか?タイムゾーン付きのISO 8601文字列の場合(例: "2017-04-30T22:10:52.360Z"とすると、IE 8以降のすべてのブラウザで組み込みのDateコンストラクタを使用して、それを "ローカル"の日付に変換することができます。他の形式の場合は、もう少し作業が必要ですが、それほど多くはありません。 – RobG
'today = *を日付から文字列に変更したので、' var date2 = new Date(today) 'は無効なDateを返すことがあります。 – RobG
こんにちは@RobG。あなたが言ったように、日付はISO形式です。 – mpeg90