2017-01-02 5 views
0

'02 -01-2017 'の日付を' 2017-01-02 'に変換する必要があります。角度ジェスでこれを行うにはどうすればよいですか。助けてください。事前に感謝します。角度jsで日付を変換するには?

+1

可能な複製(http://stackoverflow.com/questions/22392328/how-to- [angularjsで日付をフォーマットする方法] format-date-in-angularjs) – Makoto

答えて

0

これは、あなたは、この目的のために、角JS日付フィルタを使用することができ、

var date = "02-01-2017"; 
var newdate = date.split("-").reverse().join("-"); 
console.log(newdate); 

DEMO

var date = "02-01-2017"; 
 
var newdate = date.split("-").reverse().join("-"); 
 
console.log(newdate);

0

を行う必要があります。日付フィルタの構文は次のとおりです

{{date |日付:形式:タイムゾーン}}

ここで、formatは、ご希望の形式、つまりyyyy-dd-MMと希望するタイムゾーンです。あなたは、日付文字列は、これもクロムにサポートしますnew Date('02/01/2017');として書き込まれる必要があるように、あなたが直接new Date('02-01-2017');を使用することができますが、Firefoxでいくつかの互換性の問題があるクロムで angular js website

でこのhereおよびドキュメントの例を見つけることができます。あなたの日付タイムスタンプは "IETFに準拠したRFC 2822タイムスタンプ"である必要があります。あなたは、互換性の問題here.

に関する詳細を見つけることができます

<!DOCTYPE html> 
 
<html> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 
 

 
<body> 
 

 
    <div ng-app="myApp" ng-controller="datCtrl"> 
 

 
     <p>Date In Chrome {{ date | date:"yyyy-dd-MM" }}</p> 
 
     <p>Date In FireFox {{ dateFF | date:"yyyy-dd-MM" }}</p> 
 

 
    </div> 
 

 
    <script> 
 
     var app = angular.module('myApp', []); 
 
     app.controller('datCtrl', function ($scope) { 
 
      var dateTimeString = '02-01-2017'; 
 
      $scope.date = new Date(dateTimeString); 
 
      $scope.dateFF = new Date(dateTimeString.replace("-", "/")); 
 
     }); 
 
    </script> 
 

 
    <p>The date filter formats a date object to a readable format.</p> 
 

 
</body> 
 

 
</html>

+1

'new Date()'の日付文字列形式が無効です。 firefoxで試してみてください... '無効な日付 'を返します。この回答はクロスブラウザで失敗します – charlietfl

+0

@charlietfl firefoxでは、日付の文字列を新しい日付('02/01/2017 ')として書き込む必要があるため、いくつかの互換性の問題があります。これはクロムでもサポートされます。 – Nitheesh

+1

これはFirefoxの問題ではなく、ブラウザの問題でもありません。無効な文字列形式を使用するという仕様上の問題です。そして、あなたはそれを得るために文字列を解析する必要があります...あなたの編集はしません。あなたはちょうど魔法のようにコントローラに表示されました – charlietfl

関連する問題