【发布时间】:2017-04-15 16:44:40
【问题描述】:
我在“2016-11-17T09:22:24Z”中有时间,我需要将其转换为 “2016-11-1709:22:24”。只需要从 solr Date 中删除 T 和 Z,我需要在该日期添加 330 分钟并显示它
【问题讨论】:
-
按照问题的标题,他实际上需要一个Javascript日期,对吧?
标签: java solr datetime-conversion
我在“2016-11-17T09:22:24Z”中有时间,我需要将其转换为 “2016-11-1709:22:24”。只需要从 solr Date 中删除 T 和 Z,我需要在该日期添加 330 分钟并显示它
【问题讨论】:
标签: java solr datetime-conversion
首先我们可以从字符串构造一个javascript日期对象,然后你可以将它转换成正确的格式:
var dt = new Date('2016-11-17T09:22:24Z')
var formattedDate = dt.toISOString().substring(0, 19).replace('T', '')
console.log(formattedDate) 应该记录2016-11-1709:22:24
或者在一行中:
new Date('2016-11-17T09:22:24Z').toISOString().substring(0, 19).replace('T', '')
将渲染:2016-11-1709:22:24
这里有更多好的讨论:Convert javascript to date object to mysql date format (YYYY-MM-DD)
【讨论】:
new Date('2016-11-17T09:22:24Z') 将给出一个 JavaScript 日期。
formattedDate 已经是一个日期对象。您不必转换它。我正在更新答案,以向您展示一个单一的解决方案,以防万一它对您有所帮助。
var userdate = new Date("2009-1-1T8:00:00Z");
var timezone = userdate.getTimezoneOffset();
var serverdate = new Date(userdate.setMinutes(userdate.getMinutes()+parseInt(timezone)));
这将为您提供正确的 UTC 日期和时间。 这是因为 getTimezoneOffset() 将以分钟为单位为您提供时区差异。我建议您不要使用 toISOString() 因为输出将在字符串中因此将来您将无法操纵日期
【讨论】: