Below code is primarily used prior to comparing two dates. Especially when one date is retrieved using webapi and other from standard getAttribute()
AP.Common.GetFormatedDate = function (stringDate, format)
{
// Format date
var f = new Date(stringDate);
//var d = f.getDate();
//("0" + this.getDate()).slice(-2)
var d = ("0" + f.getDate()).slice(-2);
// var m = f.getMonth() + 1;
var m = ("0" + (f.getMonth() + 1)).slice(-2)
var y = f.getFullYear();
if (format === "US")
{
var cleanDate = m + "/" + d + "/" + y;
}
else
{
var cleanDate = d + "/" + m + "/" + y;
}
return cleanDate;
}
Now when you get the date from WebAPI or getAttribute, send it to this function to get back uniform date format.
let formatedDate = AP.Common.GetFormatedDate(retrievedDate);
This will return date in UK format (For example, 27/10/2022).
Before using this dates in compare, you must convert them to date by calling Date.parse
To do this, simply pass “US” parameter when calling the function
let formatedDate = AP.Common.GetFormatedDate(retrievedDate, "US"); // Extra parameter
Once converted to US date format Date.parse will work
if (Date.parse(formatedDate1) > Date.parse(formatedDate2))
{
// set notification on the form or field
}
Note : Date.parse requires “mm/DD/YYYY” formate so “27/10/2022” will return NaN and hence passing “US” parameter so the return date is in US formate 10/27/2022.