Kurkula
Kurkula

Reputation: 6762

Angular JS date format to longdatestring

I am trying to convert date from my angular code "/Date(1481843459627)/" to any understandable date format.

I tried this link but i was successful only if input was a time stamp.

Any suggestions ?

Upvotes: 0

Views: 219

Answers (4)

Pritam Banerjee
Pritam Banerjee

Reputation: 18923

Something like this:

{{1481843459627 | date:'medium'}}

Easy and sleek.

In JavaScript you can simply use:

var dateNew = new Date(1481843459627);

Upvotes: 2

Nitheesh
Nitheesh

Reputation: 19986

Use simple angular date filtes for this purpose.

<!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 = {{ today | date }}</p>
        <p>{{today | date:'dd-MM-yyyy'}}</p>
    </div>

    <script>
        var app = angular.module('myApp', []);
        app.controller('datCtrl', function ($scope) {
            $scope.today = 1481843459627; //Your date parameter
        });
    </script>

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

</body>

</html>

Find more about angular date filters here

Upvotes: 1

Balaji Marimuthu
Balaji Marimuthu

Reputation: 2058

You could directly use the format in view page or filter in the controller. https://docs.angularjs.org/api/ng/filter/date

<div ng-app="app">
  <div ng-controller="homeCtrl">

    {{date | date :'dd/MMM/yyyy'}}
  </div>
</div>

Parse the date into the required date format. Because the mentioned value isn't the valid date format. So to convert the date first need to convert into the correct format. like as 1481843459627 and need to remove the remaining string.

var val ="/Date(1481843459627)/";
 var date = new Date(parseInt(val.substr(6)));

Upvotes: 1

Ghazanfar Khan
Ghazanfar Khan

Reputation: 3718

You can format date by creating a filter which will convert that date to your formatted output.

var app = angular.module('app',[]);
app.filter('ctime', function($filter){
  return function(jsonDate){
    var date = new Date(parseInt(jsonDate.substr(6)));
    var filterDate = $filter('date')(date, "MMMM d, y"); 
    return filterDate ;
  };

});
app.controller('fCtrl', function($scope){
  $scope.date = '/Date(1481843459627)/';
});

Then you can do in html like this

<p ng-bind="date | ctime"></p>

Upvotes: 1

Related Questions