moment.js具有时区的严格模式时间格式验证

时间:2018-11-19 21:44:57

标签: javascript validation momentjs moment-timezone

我正在尝试让moment.js验证(严格模式)带有时区的用户输入日期/时间。示例:

moment("2018-01-20 06:30 PDT", "YYYY-MM-DD HH:mm Z", true).isValid();

这返回false,尽管用户输入的值对于我而言是有效的。如果我离开时区和“ Z”令牌,则可以正常验证。

我检查了似乎最相关的SO帖子,但空了。我将不胜感激任何提示。我需要在此用例中使用某种形式的moment.tz吗?提前谢谢。

编辑:澄清一下,“ 2018年1月20日PDT”是用户手动输入的内容,“ yyyy-MM-dd HH:mm z”是(ISO 8601?)日期/时间格式应用程序,然后将这些令牌标记为“ YYYY-MM-DD HH:mm Z”,以传递给moment.js进行验证。

1 个答案:

答案 0 :(得分:0)

要使其代替 PDT 起作用,您可以提供时区偏移量,例如 -0700 示例-

// import the package
const twelvedata = require("twelvedata");

// setup the config
const config = {
  key: "YOUR_API_KEY",
};

// initialize and use the client
const client = twelvedata(config);

// time series
let params = {
  symbol: "MSFT",
  interval: "1min",
  outputsize: 30,
};

client
  .timeSeries(params)
  .then((data) => {
    // consume array of data
  })
  .catch((error) => {
    // handle error
  });

有关更多详细信息,请参考-https://momentjs.com/docs/#/parsing/string-format