Lo que estoy haciendo es obtener datos de la base de datos usando ajax y mostrarlos en cuadros de texto html para fines de actualización. A continuación se muestra el código de mi método web desde donde obtengo datos con éxito.
[WebMethod] public static List<Employee> getEmployee() { var slist = new List<Employee>(); var db = new BLUEPUMPKINEntities(); slist = db.Employees.ToList(); return slist; } Ahora, cuando obtengo datos de la base de datos, obtengo la fecha en este formato /Date(725828400000)/ . Busco en Google sobre analizar y convertir el formato de cadena de fecha json en fecha html / javascript, también uso complementos de terceros como moment.js y jquery.ui, pero no soluciono mi problema. También aquí estoy compartiendo mi código del cual obtengo datos de ajax en formato json y los muestro en 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); } });Quiero la fecha en formato mm/dd/aaaa. Por favor ayúdame a resolver mi problema.
Si no hay problema para agregar una dependencia, puede agregar moment.js y lo ayudará a formatear los datos en cualquier formato. Supongo que la fecha del servidor tiene este formato '/Date(725828400000)/'
var d = item.EMP_DOB; result.push(moment(Number(d.match(/\d+/)[0])).format('MM/DD/YYYY'));Si no puede agregar moment js, puede hacer algo como
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);La forma más fácil de hacerlo es a continuación (no se requieren js de terceros)
var data =from row in db.Employees.ToList() select new { EMP_DOB=row.EMP_DOB.ToString(), row.EMP_FNAME,row.EMP_MNAME,row.EMP_LNAME row.EMP_EMAIL,row.EMP_DOB,row.EMP_USERNAME,row.EMP_PASSWORD,row.ID };Si desea formatear la fecha, puede usar
var data =from row in db.Employees.ToList() select new { EMP_DOB=Convert.ToString(row.EMP_DOB).ToShortDateString(), other properties goes here as shown previously };Podrás formatearlo como quieras usando C#
Ya tienes un objeto de datos, que tiene sus métodos para extraer todo lo que necesitas.
Puedes hacer una función como en este ejemplo:
Obtenga una cadena en formato aaaammdd del objeto de fecha js