【问题标题】:How to get date & time using moment.js如何使用 moment.js 获取日期和时间
【发布时间】:2016-04-27 01:27:48
【问题描述】:

我需要使用moment js获取以下格式的开始日期和结束日期

开始日期 = 20160427000000 和 结束日期 = 20160427235959

此处开始日期附加 000000,结束日期附加 235959

在 javascript 中获得此结果的正确方法是什么

【问题讨论】:

  • 我不明白您的意思...您是否尝试将 20160427000000 和 20160427235959 作为输入分别解析日期和超时?
  • 也许您想以这种格式输出日期?如果是这样,那么moment().format('YYYYMMDDHHmmss')
  • 是的,我想以这种格式输入
  • @JoshuaTerrill 不,这些不是输入...我将提供输入为 2016/04/27,我需要像上面那样获得输出

标签: javascript momentjs


【解决方案1】:

您需要format 运算符。由于看起来您的 0 和 2359 是硬编码的(我假设您正在做开始和结束的日子),请尝试:

startDate = moment().format('YMMDD000000');
endDate = moment().format('YMMDD235959');

编辑: 或者,正如 RobG 指出的那样,您可以使用:

startDate = moment().startOf('day').format("YMMDDHHmmss");
endDate = moment().endOf('day').format("YMMDDHHmmss");

(更整洁)

【讨论】:

  • moment().endOf('day').format('YYYYMMDDHHmmss')
  • @RobG 对于开始日期我需要如何提供??
  • @RobG 为什么提到年份是 Y 而不是 YYYY
【解决方案2】:

我完全糊涂了,我不知道你是要解析格式还是输出它。如果您想使用该格式的 moment.js 解析日期,则在时区 +05:30:

// Format YYYYMMDDHHmmss for 2016-04-26T00:00:00
var s = '20160426000000';
var x = moment(s, 'YYYYMMDDHHmmss');

// Show date in ISO 8601 extended format
console.log(x.format()); // 2016-04-26T00:00:00+05:30

切换到一天结束并以 YYYMMDDHHmmss 格式输出:

console.log(x.endOf('day').format('YYYYMMDDHHmmss')); // 20160426235959

在格式字符串中:

  • YYYY 是 4 位数年份
  • MM 是两位数的月份
  • DD 是两位数的日期
  • HH 是 24 小时格式的两位数小时
  • mm 是两位数的分钟
  • ss 是两位数的秒数

【讨论】:

    猜你喜欢
    • 2016-10-06
    • 1970-01-01
    • 2017-07-13
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多