处理Javascript日期的时区
Handling timezones for Javascript date
我有一个简单的计时器倒计时HTML页面
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta content="width=device-width, initial-scale=1" name="viewport">
<title>Countdown</title>
<style type="text/css">
@import "http://keith-wood.name/css/jquery.countdown.css";
#defaultCountdown { width: 240px; height: 45px; }
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript" src="http://keith-wood.name/js/jquery.countdown.js"></script>
<script type="text/javascript">
$(function () {
var austDay = new Date();
austDay = new Date("December 9, 2011 11:30:00");
$('#defaultCountdown').countdown({until: austDay});
$('#year').text(2011);
});
</script>
</head>
<body>
<h2>Countdown</h2>
<p>Counting down to 11:30am Dec 9th, <span id="year">2011</span>.</p>
<div id="defaultCountdown"></div>
</body>
</html>
问题是它不能正确处理时区。例如,它在我的时区显示正确的倒计时,但如果有人从CST来看它,它就会偏离2小时。在Javascript代码中设置Date
的正确方法是什么?现在,我有这个
austDay = new Date("December 9, 2011 11:30:00");
不确定这将如何与倒计时插件交互…
austDay = new Date(Date.UTC(year, month, day, hour, minute, second));
你可以这样做:
var tz = d.getTimezoneOffset();
var date = new Date("December 9, 2011 11:30:00");
austDay = date.setMinutes( date.getMinutes() + tz );
相关文章:
- 获取用户选择的不带时区的日期
- 分析特定区域设置(而不是时区!)中的日期字符串
- moment.js在两个时区格式的日期之间存在差异
- 获取本地时间的JS日期,日期对象中没有时区详细信息
- Javascript-将时区添加到日期倒计时中
- 使用JavaScript日期的任何时间的时区偏移量
- javascript日期时区问题
- 读取本地时区的日期的Javascript
- 时刻时区.js允许我传递时区缩写并获取转换后的日期/时间
- 转换 JSON 日期,不考虑时区
- 如何使用 JavaScript 更改日期的时区而不更改时间
- 如何将 UTC 日期时间(字符串)转换为访问者时区
- 情节.js为类型设置时区:“日期”
- 在 Jquery 中比较不同的时区日期
- Java 在 Java 中转换毫秒日期对应的时区日期
- 在 JS 中返回干净的无时区日期
- 将UTC中的Epoch转换为当前时区日期
- 将本地时区日期对象转换为UTC时区日期对象的优雅方式
- 显示任意时区日期的Dygraph
- 在 Javascript 中将 ISO 8601 字符串转换为当前时区日期时间对象