简单方案:
John Doe住在加利福尼亚并发表评论。 Jane Doe住在马里兰州并对评论发表评论。
我习惯于处理基于本地的网站,通常使用GETDATE()。处理这个问题的最佳方法是什么,以便John和Jane根据他们的时间位置查看日期?我是否基于javascript函数向SQL查询发送参数以获取其时区?还有更好的方法吗?
Facebook就是一个很好的例子。他们如何处理所有不同的时区?是客户端吗?服务器端?等
谢谢!
答案 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>