我希望使用此插件:http://keith-wood.name/countdown.html
但我需要使用它的TimeZone功能。所以我在查看示例代码
$('#sydneyCountdown').countdown({until: liftoffTime, timezone: +10});
所以+10是TimeOffSet编号。现在我需要这样做,以便我可以执行jquery get请求并从服务器获取TimeOffSet(从db获取用户时间并执行TimeOffSet)。
然而,似乎C#TimeOffSet返回类似“+02:00”的内容(这不是一个与jquery示例中的随机区域不同的随机区域)。
所以看起来所有的C#TimeOffSet都遵循这种格式+/- xx:xx
所以我不明白为什么jquery插件只有2个挖掘而另一个是4位数。
我能否知道C#中的最后2位数字是否与插件格式匹配?
编辑 - 这会有用吗?
// working on how to get offsetTime will be posted soon.
string time = "-08:30";
string[] split = new string[] {":"};
string[] splited = time.Split(split, StringSplitOptions.RemoveEmptyEntries);
int hours = Convert.ToInt32(splited[0]);
int mins = Convert.ToInt32(splited[1]);
int totalMins = (hours * 60) + mins;
那么只需将小时数转换为分钟,然后将分钟添加到它?
编辑 - 使用offSetTime
var info = TimeZoneInfo.FindSystemTimeZoneById("Tokyo Standard Time");
TimeSpan span = info.BaseUtcOffset;
string time = Convert.ToString(span);
string[] split = new string[] {":"};
string[] splited = time.Split(split, StringSplitOptions.RemoveEmptyEntries);
int hours = Convert.ToInt32(splited[0]);
int mins = Convert.ToInt32(splited[1]);
int totalMins = (hours * 60) + mins;
问题虽然OffSet只给我数字而不是+/-符号。所以我不知道如何得到它。
编辑 -
没关系我有意义的是他们没有添加加号,因为我只是测试了一个带有“ - ”符号的符号并显示出来。
答案 0 :(得分:1)
该插件说:
适应时区的时区 设置,设置为目标 时间偏离GMT,两者之一 小时或分钟。
所以,我认为根据时区值的大小,它将其视为小时或分钟。您应该将<sign><hh>:<mm>
格式转换为分钟数,以考虑非小时对齐的时区。类似的东西:
var tz = "-08:30";
var tz_tokens = /([+\-])0?(\d+):(\d+)/.exec(tz);
var tz_minutes = (tz_tokens[1] + 1) * (tz_tokens[2] * 60 + tz_tokens[3]);
// ..., timezone: tz_minutes, ...