Php 在通过json发送之前转换unix时间戳
首先,感谢您花时间研究这一点 我将日期作为unix时间戳存储在数据库中,当我使用以下方法获取所有信息时:Php 在通过json发送之前转换unix时间戳,php,javascript,ajax,json,date,Php,Javascript,Ajax,Json,Date,首先,感谢您花时间研究这一点 我将日期作为unix时间戳存储在数据库中,当我使用以下方法获取所有信息时: while($row = mysql_fetch_assoc($result)) { $posts[] = $row; } /* return the posts in the JSON format */ return json_encode($posts); 当我尝试使用以下方法获取日期时,该日期只能作为unix时间戳使用: va
while($row = mysql_fetch_assoc($result)) {
$posts[] = $row;
}
/* return the posts in the JSON format */
return json_encode($posts);
当我尝试使用以下方法获取日期时,该日期只能作为unix时间戳使用:
var postHandler = function(postsJSON) {
$.each(postsJSON,function(i,post) {
alert(post.date);
}
}
有没有办法在通过JSON发送之前将其转换为可读日期?甚至之后
非常感谢您的帮助。当然,在PHP方面,您可以这样做:
while($row = mysql_fetch_assoc($result)) {
$row['your_date_field'] = date('r', $row['your_date_field']);
$posts[] = $row;
}
new Date(post.date);
(您可以根据需要自定义传递给date()
的格式字符串;'r'
只是一个简单的默认值。)
在Javascript方面,您可以这样做:
while($row = mysql_fetch_assoc($result)) {
$row['your_date_field'] = date('r', $row['your_date_field']);
$posts[] = $row;
}
new Date(post.date);
当呈现为字符串时,它将格式化为默认日期格式,或者您可以使用日期
对象上的其他方法来获取其他格式
使用哪种方法取决于您,但正如dragon所指出的,在客户端执行此操作通常会更好,因为它既减少了传输的数据,又为您提供了更大的灵活性,而无需解析字符串。当然,在PHP端,您可以这样做:
while($row = mysql_fetch_assoc($result)) {
$row['your_date_field'] = date('r', $row['your_date_field']);
$posts[] = $row;
}
new Date(post.date);
(您可以根据需要自定义传递给date()
的格式字符串;'r'
只是一个简单的默认值。)
在Javascript方面,您可以这样做:
while($row = mysql_fetch_assoc($result)) {
$row['your_date_field'] = date('r', $row['your_date_field']);
$posts[] = $row;
}
new Date(post.date);
当呈现为字符串时,它将格式化为默认日期格式,或者您可以使用日期
对象上的其他方法来获取其他格式
使用哪种方法取决于您,但正如dragon所指出的,在客户端使用该方法通常会更好,因为它既减少了传输的数据,又为您提供了更大的灵活性,而无需解析字符串。使用JavaScript中的对象
alert(new Date(post.date))
注意:最好以UNIX时间戳格式一直传递它,直到呈现为止,因为:
Date.now()/1000-post.Date
将给出创建帖子后的秒数,依此类推alert(new Date(post.date))
注意:最好以UNIX时间戳格式一直传递它,直到呈现为止,因为:
Date.now()/1000-post.Date
将给出创建帖子后的秒数,依此类推这两个答案都解决了你的问题吗?这两个答案都解决了你的问题吗?我想把它们都选为最佳答案,但不幸的是我不能!谢谢你们的回答。这帮我解决了我的问题!:)不用担心-我并不需要代表:)我想把他们两个都选为最佳答案,但不幸的是我不能!谢谢你们的回答。这帮我解决了我的问题!:)不用担心,我并不需要代表:)