所以我正在进行日程安排。我的时区是GMT +0100 CET,我当地时间星期一上午9:00可以使用。
但是我想要调整时间,以便用户在他们的时间看到它。这意味着它可以改变时间,但也可以改变一天。 F.ex如果他们是GMT -10:00夏威夷。
我有办法通过控制器获取访客时区,然后使用以下方式显示时间:
columns
或者这应该以完全不同的方式完成?
答案 0 :(得分:0)
这取决于您的应用的设置。您可以使用gem 'momentjs-rails'将时区更改为匿名用户。假设您想在访问者当地时区显示时间,并且您不希望他们登录或登录您的网站。例如,您的服务器位于欧洲地区。在您的视图中,您解析了时间,DateTime.parse()
仅显示星期一(上一个/当前星期一到下一个星期一来):
<h1>My schedule:</h1>
<div class="timestring">
I'm available on Mondays 9 AM my local time.<br>
Converted in your local timezone: <span class="time"><%= DateTime.parse("Mon 09:00 +01") %></span>
</div>
安装momentjs-rails gem
后,在application.js
中向访问者时区添加需要时刻库和格式化日期时间:
//= require moment
$(document).ready(function() {
var format = 'LL hA';
$('.time').each(function() {
this.textContent = moment(this.textContent).format(format);
});
});
上面的代码很简单,只有works。尝试将计算机的日期和时间设置更改为夏威夷,以及日期和时间。时区将反映变化。同样,这取决于您的设置和应用程序逻辑。你想和注册用户一起操作时区吗?