Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to parse JSON format date string into date format

What I am doing is, fetching data from database using ajax and show it on html text boxes for update purposes. Below is my Web Method code from where I get data successfully.

[WebMethod]
public static List<Employee> getEmployee()
{
     var slist = new List<Employee>();
     var db = new BLUEPUMPKINEntities();
     slist = db.Employees.ToList();
     return slist;
}

Now when I get data from database I got date in this format /Date(725828400000)/. I search google about parse and converting json date string format into html / javascript date also use 3rd party plugins like moment.js and jquery.ui but not solve my problem. Also here I am sharing my code from which I get data from ajax in json format and show it on jquery datatable.

$.ajax({
    url: "Employees.aspx/getEmployee",
    data: null,
    contentType: "Application/json; charset=utf-8",
    responseType: "json",
    method: "POST",
    success: function (response) {
        //alert(response.d);

        var jsonObject = response.d;
        var result = jsonObject.map(function (item) {
            //var date = new Date(item.EMP_DOB);
            //var obj = Date.parse(date);
            var result = [];
            result.push('');
            result.push(item.EMP_FNAME);
            result.push(item.EMP_MNAME);
            result.push(item.EMP_LNAME);
            result.push(item.EMP_EMAIL);
            result.push(item.EMP_DOB); //this is my date column in my database from where date is in yyyy/mm/dd format
            result.push(item.EMP_USERNAME);
            result.push(item.EMP_PASSWORD);
            result.push(item.ID);
            return result;
        });
        myTable.rows.add(result); // add to DataTable instance
        myTable.draw();
    },
    error: function (xhr) {
        alert(xhr.status);
    },
    Failure: function (response) {
        alert(response);
    }
});

I want date in mm/dd/yyyy format. Please help me to solve my prob.

like image 851
Ahmer Ali Ahsan Avatar asked Feb 07 '16 11:02

Ahmer Ali Ahsan


People also ask

How do I set date format in JSON?

There is no date format in JSON, there's only strings a de-/serializer decides to map to date values. However, JavaScript built-in JSON object and ISO8601 contains all the information to be understand by human and computer and does not relies on the beginning of the computer era (1970-1-1).

Does JSON Stringify convert date to UTC?

stringify converts DateTimeOffset to UTC format #1710.

Does JSON support date format?

JSON does not directly support the date format and it stores it as String. However, as you have learned by now that mongo shell is a JavaScript interpreter and so in order to represent dates in JavaScript, JSON uses a specific string format ISODate to encode dates as string.

Can JSON be a date?

JSON format does not have a special type for dates. So dates have to be represented in JSONs as numbers of milliseconds or as strings.


1 Answers

If there is no issue in adding a dependency, then you can add moment.js and it will help you to format data in any format I am supposing that date from server is in this format '/Date(725828400000)/'

var d = item.EMP_DOB;
result.push(moment(Number(d.match(/\d+/)[0])).format('MM/DD/YYYY'));

If you are unable to add moment js then you can do soemthing like

var date = new Date(Number(d.match(/\d+/)[0]));
var day = date.getDate();
day = day = (day < 10) ? ("0" + day) : day;
var month = date.getMonth() + 1);
month = (month < 10) ? ("0" + month) : month;
var dateStr = day + "-" + month + "-" + date.getFullYear();
result.push(dateStr);
like image 193
Zohaib Ijaz Avatar answered Oct 20 '22 06:10

Zohaib Ijaz