Javascript 如何在表中将Json日期字符串显示为DD/MM/YYYY
我试图将表中的一些json日期格式化为更可读的格式。从json返回的字符串如下所示Javascript 如何在表中将Json日期字符串显示为DD/MM/YYYY,javascript,json,date,datetime,Javascript,Json,Date,Datetime,我试图将表中的一些json日期格式化为更可读的格式。从json返回的字符串如下所示“2015-06-29T10:00:00.000Z” 时间并不重要,我只想将日期显示为dd/mm/yyyy 我尝试过使用新日期(限制开支),但我可能弄错了,因为它不起作用。这是完整的代码 $(document).ready( function() { $.getJSON( 'opp.php', function(data) { $.each(data.opportunities, function() {
“2015-06-29T10:00:00.000Z”
时间并不重要,我只想将日期显示为dd/mm/yyyy
我尝试过使用新日期(限制开支)
,但我可能弄错了,因为它不起作用。这是完整的代码
$(document).ready( function() {
$.getJSON( 'opp.php', function(data) {
$.each(data.opportunities, function() {
$("table#outtodaytomorrow").append("<tr><td>" + this.number + "</td><td>" + new Date(this.starts_at) + "</td></tr>");
});
});
});
$(文档).ready(函数(){
$.getJSON('opp.php',函数(数据){
$.each(data.opportunities,function(){
$(“table#outtodaydomody”).append(“+this.number+”+新日期(this.start_at)+”);
});
});
});
非常感谢您的帮助。您必须创建自己的功能,以实现您的目标
function formatDate(stringDate){
var date=new Date(stringDate);
return date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear();
}
您的代码:
$("table#outtodaytomorrow").append("<tr><td>" + this.number + "</td><td>" + formatDate(this.starts_at) + "</td></tr>");
$(“table#outtodaydomody”).append(“+this.number+”+formatDate(this.start_at)+”);
请参见
首先,将其解析为具有
var date = new Date(this.starts_at);
第二,根据需要打印日期
var dateStr = (date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear())
您将获得“6/29/2015”
对于您的特定实例,它将类似于
$(document).ready( function() {
$.getJSON( 'opp.php', function(data) {
$.each(data.opportunities, function() {
var date = new Date(this.starts_at);
var dateStr = (date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear())
$("table#outtodaytomorrow").append("<tr><td>" + this.number + "</td><td>" + dateStr + "</td></tr>");
});
});
});
$(文档).ready(函数(){
$.getJSON('opp.php',函数(数据){
$.each(data.opportunities,function(){
var date=新日期(该日期从开始);
var dateStr=(date.getDate()+'/'+(date.getMonth()+1)+'/'+date.getFullYear())
$(“table#outtodaydomody”).append(“+this.number+”“+dateStr+”);
});
});
});
将组件拆分为不同的内存段,如“date”和“dateStr”,使其更易于阅读和理解。您可以使用解析第一个输入,然后将其格式化为所需的格式类似于:
$(document).ready( function() {
$.getJSON( 'opp.php', function(data) {
$.each(data.opportunities, function() {
$("table#outtodaytomorrow").append("<tr><td>" + this.number + "</td><td>" + moment(this.starts_at).format("DD/MM/YYYY") + "</td></tr>");
});
});
});
$(文档).ready(函数(){
$.getJSON('opp.php',函数(数据){
$.each(data.opportunities,function(){
$(“table#outtodaytomody”).append(“+this.number+”+”+时刻(this.start_at).format(“DD/MM/YYYY”)+”);
});
});
});
试试moment.js
可能是或的副本。这可以在原生javascript中用两行代码完成。1如果你够狡猾的话。无需导入不必要的库。一切都可以在本机javascript中完成。这里的重点是节省时间,使代码更干净。太好了,谢谢Zak。这看起来正是我想要的。这可能是一个愚蠢的问题,但我该如何将其添加到我的代码中,使其适用于表格的每一行?@James,请看一看我的答案。@Alexandru lonut Perfect,这正是我要寻找的。我现在明白了。谢谢。我说得太快了,这似乎不起作用,只是产生了一些错误。除非我不正确地调用函数,否则按惯例,以大写字母开头的函数名是为构造函数保留的this.starts\u at
是一个字符串,对字符串调用日期方法无效,您需要事先将其转换为日期。@RobG,谢谢您的观点!。我更新了我的答案。