测试字符串在 javascript 中是否具有时区
Test if a string has timezone in javascript
我从服务器收到一个字符串形式的日期时间,可能如下所示:
07/08/2012 13:17:32
这是世界协调时时间。
或者它可能具有以下格式的时区:
07/08/2012 13:17:32 UTC+01:00
我需要一种通用方法将其解析为Date
对象以进行显示。如果我做一个var d = new Date(str)
那么它假设的第一个示例是本地时间。
编辑:字符串中可能并不总是"UTC",我认为它可能是 GMT、Z 或任何其他时区表示符。
有什么想法吗?
如果您的时区始终采用 UTC+nn 格式,并且具有显式 UTC TZ 的字符串被正确解析,正如我从您的问题中假设的那样,那么简单
if (date_string.search(/a-z/i) == -1) {
date_string += 'UTC+00:00'
}
会的。
作为一个快速而肮脏的解决方案,时区似乎是用空格分隔的格式的最后一个"部分"。 因此,您可以计算输入字符串中"部分"的数量,如果未找到,则添加默认时区。 例如:
function parseDateDefaultUTC(str) {
var parts = str.split(/'s+/);
return new Date((parts.length===3) ? str : str + ' UTC');
}
var d;
d = parseDateDefaultUTC("07/08/2012 13:17:32");
d; // => Sun Jul 08 2012 07:17:32 GMT-0600 (MDT)
d = parseDateDefaultUTC("07/08/2012 13:17:32 UTC+01:00");
d; // => Sun Jul 08 2012 06:17:32 GMT-0600 (MDT)
相关文章:
- 访问布局信息是否也会导致浏览器重排
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 如何检测是否有溢出
- jQuery中是否内置了任何字符串格式化函数
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 测试索引值是否等于某个数字的倍数
- Fancybox是否将Click事件静音
- 测试字符串在 javascript 中是否具有时区
- 使用JS检查用户是否在EST时区和设置的EST时间范围内
- 计算日期选择器+时间选择器是否在东部标准时区的过去
- 如何使用 Javascript 确定夏令时是否对给定日期和时区有效
- 是否可以获取我们在系统时区中选择的国家/地区名称.我们可以得到偏移量(如 5.5)但是如何获取国家名称
- 检查不同时区的夏令时是否有效
- 没有时区的PostgreSQL字段时间戳 - 如何检查它是否等于今天
- 是否有可能在jscript中创建一个定时器,您可以手动更改而不受时区的影响
- javascript new Date(timestamp)是否根据客户端的时区返回日期?
- 检查当前时间是否在不同时区的2次之间
- 是否有一个jQuery日期格式化插件,可以处理多个时区和适当的夏令时
- Javascript日期-如何知道夏令时是否在给定时区生效
- 在不同时区克隆一个日期对象是否保留它的原始时区?