嗨,
从客户端我发送到服务器数据,当前日期为ISO格式。我正在使用
new Date().toISOString()
用于在将日期发送到服务器之前编写日期时间。当我从服务器到客户端获取所有数据时,我在服务器的时区收到日期时间。
例如:
在服务器上我有这样的日期值 - "2014-02-16T03:10:13.383"
客户端应转换为当地时间 - "2014-02-16T13:10:13.383"
如何将datetime从服务器转换为客户端的本地时间?
答案 0 :(得分:0)
处理通常是两次。要在服务器端处理它,您需要可靠的时区信息。这通常是从用户在个人资料页面中的时区偏好中获得的。
话虽如此,我们需要确保在客户端捕获的所有日期数据以及存储在DB中的日期数据都是UTC格式。 JS函数已准备好支持UTC日期时间。
当您存储时,在JS中使用UTC()
方法来获取日期。
当显示回来时,你提供了与DB相同的时区(基于存储的用户时区数据)或使用JS从浏览器语言环境中获取它
<script type="text/javascript">
function showDateInClientSideFormat(dValue)
{
var d = new Date()
var n = d.getTimezoneOffset();
var dateClientSide = new Date(dValue +n);
return dateClientSide;
}
</script>
另请参阅我的答案https://stackoverflow.com/a/21573366/1123226和另一个很棒的SO链接How can I handle time zones in my webapp?
答案 1 :(得分:0)
不确定这是否是您所需要的...将服务器时间转换为客户端时区。如果是,那么这可能会有所帮助。 https://github.com/GaneshKurcheti/ctoc_timezone