I'm using server side processing as per the Django example in DataTables. I return datetime values in this format 'yyyy-mm-dd hh:mm:ss'. These date time values are currently displayed like this (for example):
Dec. 18, 2011, 11:59 p.m.
I would like to display just the date part rather than both date and time.
This is what I have in my html page:
<script type="text/javascript">
/* <![CDATA[ */
$(document).ready(function() {
$('#certs-table').dataTable({
"bJQueryUI": true,
"sPaginationType": "full_numbers",
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "/cars/get_cars_list/",
"iDisplayLength": 10,
"aoColumnDefs": [
{ "aTargets": [0], "bVisible": false, "bSearchable": false},
{
"aTargets": [1],
"fnRender": function ( oObj ) {
return '<a href=\"/cars/' + oObj.aData[0] + '/\">' + oObj.aData[1] + '</a>';
},
"bSearchable": true,
},
{ "aTargets": [2], "bSearchable": true},
{ "aTargets": [3], "bSearchable": false, "sType": 'date'},
]
});
} );
/* ]]> */
</script>
The date is is the 4th column, i.e., aTarget[3].
How do I display just the date portion please? I only started using DataTables/JQuery yesterday, so would really appreciate an example. Thanks.
The previous responses are using legacy DataTables API. The syntax for versions 1.10+ is:
I think that the best whay would be to convert data server side and just return the date format you want, but you could also
It's often best to return the UTC date as JSON string from the server and then to format it in the browser with the user's local format settings. I like to use moment.js to do the formatting. Example:
There are different strings you can return that will work with moment. Make sure you specify the offset (Z) as
+0000
otherwise the date will be parsed as local time.