Vijay Shegokar
Vijay Shegokar

Reputation: 2522

How to get date format in Angular-JS

My requirement is something different. I want to get the date format, not to format the date. Means I have a date string and now I want to get the date format of that date and apply it to the another date as a format.

Let me explain in brief with example:

var dateStr = "2015-06-06T12:00:00Z";
var d = new Date(dateStr);

here my date format is yyyy-MM-ddTHH:mm:ssZ you can see in dateStr object.

Now i will create another date and want to apply the same date-format to this new date.

var formatStr = "yyyy-MM-dd'T'HH:mm:ss'Z'"; // want to get this from above date, not hard coded like this.
var newDate = $filter('date')(d, formatStr);

here you can see that i have hard coded the format string, which i don't want to do. Here this string should be come from the above d date/or dateStr String.

Upvotes: 0

Views: 459

Answers (2)

Nikhil Aggarwal
Nikhil Aggarwal

Reputation: 28475

As @Rob said, there is doubt on the reliably for all formats. What you need is pre defined map with key being the format and value being its corresponding regular expression.

Now, create a function with input as dateStr and will return the format. Like

function getDateFormat(dateStr) {
 var format = default_format;
 // Check in map for format
 // If you get the format in map, return that else return a default format.
 return format;
} 

Upvotes: 1

DannyGolhar
DannyGolhar

Reputation: 206

You can do it by using momment.js

http://momentjs.com/downloads/moment.js

  van date=new Date(date);
  var dateInFormate=moment(date);
  var date=dateInFormate.format('yyyy-MM-ddTHH:mm:ssZ'); 

Upvotes: 1

Related Questions