 <p>You have to write your dates in <code>YYYYmmdd</code> format so that alphabetical order matches chronological order.<br /> But you want your dates to be displayed in a better-looking format (legit).</p> <p>The solution is to have 2 columns: one with the good-looking date, one with the <code>YYYYmmdd</code> date. This one will be hidden, but will be used by <code>dataTable</code> sorting function.</p> <pre><code>&lt;table id="sorting"&gt; &lt;thead&gt; &lt;tr&gt; &lt;th&gt;CPA&lt;/th&gt; &lt;th&gt;Shipping&lt;/th&gt; &lt;th&gt;Shipping (sorting format)&lt;/th&gt; &lt;/tr&gt; &lt;/thead&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;123&lt;/td&gt; &lt;td&gt;Aug 28&lt;/td&gt; &lt;td&gt;20150828&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;327&lt;/td&gt; &lt;td&gt;July 30&lt;/td&gt; &lt;td&gt;20150730&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;789&lt;/td&gt; &lt;td&gt;Process&lt;/td&gt; &lt;td&gt;0&lt;/td&gt; &lt;/tr&gt; &lt;/tbody&gt; &lt;/table&gt; </code></pre> <p>Then, the Javascript :</p> <pre><code>$('#sorting').dataTable( { "aoColumns": [ {"bSortable": true}, // First column: normal {"iDataSort": 2}, // Second column's sorting depends on third column (dataTable starts counting from 0, that's why third column is number 2) {"bVisible": false}, // Third column: hide it ] }); </code></pre> <p>You'll find more tips and examples in <a href="http://legacy.datatables.net/usage/columns" rel="nofollow">DataTables' documentation</a>.</p>