- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
确定用户的时区服务器端并从 UTC 转换已证明麻烦多于其值(value)。
javascript/jquery 是否有一种可靠的方法来确定用户的时区并将偏移量应用于 UTC 日期时间戳 (2012-08-25 10:59:56.511479) 并以我想要的格式输出 (Aug 25 ' 12 - 上午 10:59)?
jquery 代码看起来像什么
// dom ready
$('span.localtime').each(function(e) {
// get stamp and apply conversion
});
最佳答案
.getTimezoneOffset()
可用于日期对象,并为您提供与 UTC 的分钟偏移量。
var offset = (new Date()).getTimezoneOffset();
// convert myUtcDate to a date in local time
myUtcDate.setMinutes(myUtcDate.getMinutes() + (offset*-1));
因此:
$('.span.localtime').each(function() {
var myUtcDate = new Date($(this).html()); // assuming "2012-08-25 10:59:56.511479"
myUtcDate.setMinutes(myUtcDate.getMinutes() + (myUtcDate.getTimezoneOffset() * -1));
$(this).html(myUtcDate.toString());
});
请注意,myUtcDate.toString()
可以替换为您想要的任何日期格式。在你的情况下,它可能看起来像
$(this).html(formatDate(myUtcDate));
function formatDate(d) {
var months = ['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'];
var y = d.getFullYear().toString().slice(-2); // "12"
var m = months[d.getMonth()]; // "Aug"
var d = d.getDate(); // "25"
var ampm = 'AM';
var h = d.getHours();
if(h>=12) {
h -= 12;
ampm = 'PM';
}
if(h == 0)
h = 12;
var min = ("00" + d.getMinutes()).slice(-2);
return m + " " + d + " '" + y + " - " + h + ":" + min + ampm;
}
您可能想使用 date format plugin以更简洁、更可靠的方式格式化日期。
关于javascript - 有没有一种可靠的方法可以使用 javascript 将天真的 UTC 时间戳转换为本地时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12161006/
给定一个带有多个 date_time 戳的字符串,我想 提取第一个戳及其前面的文本 候选字符串可以有一个或多个时间戳 后续的 date_time 戳记将被 sep="-" 隔开 后续date_time
是否可以合并从相机拍摄的文本和照片?我想在照片上标记日期和时间,但我在 Google 上找不到任何内容。 最佳答案 使用下面的代码来实现你所需要的。 Bitmap src = Bitm
有没有办法通过 Graph API 戳另一个用户?基于this post ,并使用 Graph Explorer ,我发布到“/USERID/pokes”,我已经授予它(Graph API 应用程序和
我有两个向左浮动的元素。一个是 body 的第一个 child ,另一个是容器的第一个 child ,容器是 body 的第二个 child 。 ...
我是一名优秀的程序员,十分优秀!