使用正则表达式,Javascript中还有其他方法从具有时区的字符串中提取日期吗?
Using regular expression, is there any other way in Javascript to extract date from string having time zone
我使用正则表达式从给定字符串中提取日期和时间信息。
2006-08-15T00:00:00+05:30
我是正则表达式的新手,我的做法如下:
('d{4})-('d{2})-('d{2})T('d{2}):('d{2}):('d{2})
我知道可能有更好的方法来做这件事。所以,如果有人对这个话题有任何了解,请分享和解释。注:我还想提取时区信息。
如果你想要一个非正则表达式的解决方案,你可以使用:
> new Date(Date.parse("2005-07-08T11:22:33+0000"))
Fri Jul 08 2005 13:22:33 GMT+0200 (CEST)
> new Date(Date.parse("2005-07-08T11:22:33+0000")).toUTCString()
"Fri, 08 Jul 2005 11:22:33 GMT"
要获取时区,可以使用getTimezoneOffset()
函数
var my_date = new Date(Date.parse("2005-07-08T11:22:33+0000"));
var timezone_offset = my_date.getTimezoneOffset();
时区偏移量是以分钟为单位的UTC和本地时间之间的差值。请注意,这意味着如果本地时区落后于UTC,则偏移量为正,如果超前于UTC,则偏移量为负。例如,如果您的时区是UTC+10(澳大利亚东部标准时间),将返回-600。日光节约时间防止此值成为常量,即使对于给定的区域
是的,你可以使用分割方法。
<!DOCTYPE html>
<html>
<body>
<p>Click the button to display the array values after the split.</p>
<button onclick="myFunction()">Try it</button>
<script>
function myFunction() {
var str = "2006-08-15T00:00:00+05:30";
var res = str.split("T");
console.log("date:" +res[0]);
console.log("time:" +res[1]);
}
</script>
</body>
</html>
如果您使用Date()
函数,那么您可以创建Date Object
来获得您想要的没有regular expression
的所有数据。
var Obj = new Date();
var month = Obj.getMonth();
var date = Obj.getDate();
var year = Obj.getFullYear();
var hour = Obj.getUTCHours();
var minutes = Obj.getUTCMinutes();
这里是所有的Date对象方法
您可以拆分字符串,然后得到一个数组,其中包含以下信息:
date.split(/[-'+:T]/g);
// ["2006", "08", "15", "00", "00", "00", "05", "30"]
此外,在使用时区之前,您应该检查字符串是否包含+或-。
相关文章:
- 分析特定区域设置(而不是时区!)中的日期字符串
- 如何将 UTC 日期时间(字符串)转换为访问者时区
- 测试字符串在 javascript 中是否具有时区
- 转换一个时间(字符串),例如1:00 IST到另一个时区(比如PST)
- 如何将UTC时间字符串转换为本地时区中正确的moment.js对象
- 在 JavaScript 中给定时区字符串的情况下计算 UTC 偏移量
- 在 JavaScript 中获取另一个时区的时区偏移量,而无需使用字符串
- 如何在 Javascript 中获取浏览器的时区字符串
- 使用时刻时区的客户端上的时区字符串
- 分析具有不同时区的字符串日期
- 将日期从带有偏移量的字符串转换为不同的时区
- 如何将“字符串”转换为“没有时区的时间戳”
- 由于时区的原因,字符串的新日期显示为前一天
- JavaScript在不更改时区的情况下从字符串创建新日期
- 字符串中的Firefox new Date()构造本地时区的时间
- 如何查找时区字符串
- 从JavaScriptDate对象中提取日期字符串,而不应用时区
- 如何从javascript日期对象中获取时区字符串
- 使用正则表达式,Javascript中还有其他方法从具有时区的字符串中提取日期吗?
- 在javascript中读取具有不同时区的日期字符串