我的代码库中有一个要求,如果上面有时区,我需要修剪时间戳。
我可能会收到的时间戳示例:
“ 2017/08/23 12:00:00 Z”或“ 2017/08/23 12:00:00 +05:30”
我想要的输出应该是:
“ 2017/08/23 12:00:00”或“ 2017/08/23 12:00:00”
答案 0 :(得分:0)
使用lastIndexOf
方法找到最后一个空格,然后对其进行子串处理。
var date = "2017/08/23 12:00:00 Z";
var date1 = "2017/08/23 12:00:00 +05:30";
console.log(date.substring(0, date.lastIndexOf(" ")));
console.log(date1.substring(0, date.lastIndexOf(" ")));
答案 1 :(得分:0)
您可以执行以下操作:
var d1 = "2017/08/23 12:00:00 Z"
var d2 = "2017/08/23 12:00:00 +05:30"
var d3 = "2017/08/23 12:00:00"
const getDatePart = d => d.split(' ').reduce((r,c,i) => i <= 1 ? `${r} ${c}` : r)
console.log(getDatePart(d1))
console.log(getDatePart(d2))
console.log(getDatePart(d3))
它将通过String.split
和reduce
完成工作。它将在日期和时间之间用一个' '
覆盖日期字符串。
答案 2 :(得分:0)
假设您一次处理一个日期时间,则可以使用此正则表达式:
/(?<=\").*?(?:(?=Z)|(?=[+-]))/
它回头查找双精度quote
,然后匹配零个或多个字符(非贪婪),然后期待一个'Z'
或加[+]
或减号[-]
。