Prachi Patil
Prachi Patil

Reputation: 51

How to pass long number through javascript?

I want to convert numberLong date from the mongo db database into dd/mm/yyyy format in javascript.

When I put direct hardcoded value like the following code, it gives me correct result:

function getDateIfDate(d) {
    var m = d.match(/\/Date\((\d+)\)\//);
    return m ? (new Date(+m[1])).toLocaleDateString('en-US', {month: '2-digit', day: '2-digit', year: 'numeric'}) : d;
}

console.log(getDateIfDate("/Date(1460008501597)/"));

Here is my code :

for(var i=0;i<keys;i++)
                {
                var tr="<tr>";
                tr+= "<td><input type='checkbox' name='record'></td>"
                tr+="<td>"+positionList[i]["fromDate"]+"</td>";
                var j = (positionList[i]["fromDate"]);
                console.log("value of j is =========="+j);
                console.log(getDateIfDate("/Date(j)/")); // actual conversion should happen here
}

What changes I should make in my code to get the date in required format?

Upvotes: 3

Views: 157

Answers (3)

BritSys
BritSys

Reputation: 353

tr+="<td>"+positionList[i][new Date("fromDate").toLocaleString()]+"</td>";

try to replace old line by this new one

Upvotes: 3

Dinesh undefined
Dinesh undefined

Reputation: 5546

You should invoke function like this getDateIfDate("/Date("+j+")/");

instead of getDateIfDate("/Date(j)/") this means you are passing string "/Date(j)/".

 
function getDateIfDate(d) {
    var m = d.match(/\/Date\((\d+)\)\//);
    return m ? (new Date(+m[1])).toLocaleDateString('en-US', {month: '2-digit', day: '2-digit', year: 'numeric'}) : d;
}


var j= 1460008501597;

console.log(getDateIfDate("/Date("+j+")/"));

Upvotes: 2

P.S.
P.S.

Reputation: 16384

You can use momentjs for your case. It's really simple to use, if you want to format your date to DD/MM/YYYY, just add the row below:

var formattedDate = moment(new Date()).format("DD/MM/YYYY");

Upvotes: 2

Related Questions