【发布时间】:2012-01-31 00:48:02
【问题描述】:
我写了一个网站。
- 客户端向服务器发送ajax请求
- 服务器发回
DateTime - 客户端应将其打印到 UI
使用 chrome 控制台我看到客户端得到:
SentTime: "/Date(1318319100000)/"
如何操作客户端的数据以使其打印得很好?
最好在服务器端执行此操作(意味着只发送字符串)?
【问题讨论】:
标签: c# javascript jquery
我写了一个网站。
DateTime
使用 chrome 控制台我看到客户端得到:
SentTime: "/Date(1318319100000)/"
如何操作客户端的数据以使其打印得很好?
最好在服务器端执行此操作(意味着只发送字符串)?
【问题讨论】:
标签: c# javascript jquery
这是一个 unix 时间戳(参见 http://www.unixtimestamp.com/index.php)。见Convert a Unix timestamp to time in Javascript
我个人建议服务器应该返回一个ISO format date string 或一个已经格式化的日期字符串。
是否更可取很大程度上取决于您的偏好。根据我的偏好,我喜欢服务器完成大部分工作并负责呈现数据,因为它通常可以更好地掌握上下文。并非总是如此,有争议的是,客户可以负责使用标准格式转换来显示项目。
要生成 ISO 格式字符串,请使用 dateTimeVar.ToString("s"),对于文化感知版本,使用 ToString("f")。见Standard Date and Time Format Strings。
【讨论】:
您使用以下 javascript 代码将其呈现在客户端本身
var dt = new Date(1318319100000);
tempDate = dt.getDate();
tempMonth = dt.getMonth()+1;
tempHour = dt.getHours();
tempMin = dt.getMinutes();
tempSec = dt.getSeconds();
var currentDate = tempDate +"/"+tempMonth+"/"+dt.getFullYear();
var currentTime = tempHour + ":" + tempMin + ":" + tempSec;
var dtTime = currentDate +" "+currentTime;
您可以将所有这些步骤放在一个函数中,然后通过传递作为要转换的时间戳的参数来调用它,并返回 dtTime 值并将其放置在文本框或 div 的 innerHTML 中。
希望对你有所帮助。
【讨论】:
您可以使用 javascript 简单地转换时间。您唯一需要的是,如果您想根据您的客户添加时区。您可以在这里获得一个示例:将时间与时区一起转换的来源也在页面的来源中。
【讨论】: