如果我使用JSON从DB收到所有记录,我如何将格式2014-09-04 23:20:00
(存储在数据库中)更改为04/09/2014
。目前日期被解析为Thu Jan 01 1970 00:00:02 GMT+0000 (GMT Standard Time)
<script>
$("document").ready(function() {
$.getJSON("test1.php", function(data) {
var table = $("<table>");
$("#div-my-table").empty().append(table);
$.each(data, function(i, item) {
table.append("<tr><td>" + item.code +"</td><td>" + item.line +"</td><td>" + item.org +"</td><td>" + new Date(parseInt(item.by_date.substr("u"))) + "</td></tr>");
});
});
});
</script>
答案 0 :(得分:1)
您使用可用于此目的的几个库中的任何一个解析字符串,然后使用可用于此目的的几个库中的任何一个将其放入所需的格式。在现代浏览器中,您引用的字符串应该由new Date()
正确解析,但如果您发现它未被正确解析(您的示例没有意义),您可能需要类似MomentJS。
当然,你可以正则表达它:
var yourString = "2014-09-04 23:20:00";
var parts = /^(\d{4})-(\d{2})-(\d{2})/.exec(yourString);
var newString = parts[3] + "/" + parts[2] + "/" + parts[1];
snippet.log("newString = " + newString);
&#13;
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
&#13;
答案 1 :(得分:1)
如果您的值为 1970年1月1日星期一00:00:02 GMT + 0000(格林尼治标准时间标准时间)意味着,那么请执行以下操作
var d=new Date('Thu Jan 01 1970 00:00:02 GMT+0000 (GMT Standard Time)');
var day=d.getDate();
var month=d.getMonth()+1;
var year = d.getFullYear();
then format the string like d.getDate()+"/"+(d.getMonth()+1)+"/"+d.getYear()
所以你会得到日,月和年。您可以按照自己的方式进行格式化。
答案 2 :(得分:1)
您可以从日期中提取日,月和年,然后使用它来形成字符串。您可以尝试以下内容:
var dateObj = new Date(jsonDate);
var month = dateObj.getUTCMonth() + 1; //months from 1-12
var day = dateObj.getUTCDate();
var year = dateObj.getUTCFullYear();
newdate = day + "/" + month + "/" + year;
alert(newdate);
其中jsonDate是您从JSON中提取的日期元素。
答案 3 :(得分:0)
// Split timestamp into [ Y, M, D, h, m, s ]
var t = "2010-06-09 13:12:01".split(/[- :]/);
// Apply each element to the Date function
var d = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]);
alert(d);
// -> Wed Jun 09 2010 13:12:01 GMT+0100 (GMT Daylight Time)