【问题标题】:How to find format (not validate against a particular format) of date with moment.js如何使用 moment.js 查找日期格式(不针对特定格式进行验证)
【发布时间】:2017-11-30 07:21:57
【问题描述】:

我有一个给定的日期字符串,它已经被某人用 moment.js 格式化了。 我想要那种格式。

我检查了现有问题并遇到了这个问题 - check format of date with moment.js

提供的解决方案不返回日期格式。而是针对某些给定格式进行验证。

我想要一个像这样的函数 getMomentDateFormat -

var dateString = field.value; //"Nov 30, 2017"
var dateFormat = getMomentDateFormat(dateString ); //I want dateFormat = "MMM DD, YYYY"

【问题讨论】:

  • field.value 的值是多少?你的预期结果是什么?到目前为止,您尝试了什么?
  • VincenzoC,field.value 的值在评论中给出 - “2017 年 11 月 30 日” 预期结果也在评论中给出 - “MMM DD, YYYY” 我浏览了文档并搜索了一个很多在互联网上。我尝试了几种方法,但都不能满足要求。

标签: javascript momentjs date-format


【解决方案1】:

可以使用Parse Date Format插件:

这个插件提取日期/时间字符串的格式。

这里是一个例子(无论如何它返回MMM D, YYYY而不是MMM DD, YYYY):

function getMomentDateFormat(input){
  return moment.parseFormat(input);
}

var field = { value: "Nov 30, 2017" };
var dateString = field.value; //"Nov 30, 2017"
var dateFormat = getMomentDateFormat(dateString);

console.log(dateFormat);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.19.2/moment.min.js"></script>
<script src="https://gr2m.github.io/moment-parseformat/moment-parseformat.js"></script>

PS。请勿直接使用来自https://gr2m.github.io/ 的脚本,请参阅github repo。

【讨论】:

  • 谢谢。这正是我想要的。但不幸的是,我不能使用任何其他库。在 moment.js 或 pickaday.js 中有什么办法吗?
  • 不,我不认为你可以只使用 moment 核心来做同样的事情,无论如何你可以查看库代码(非常小)并获取你的用例所需的代码。
猜你喜欢
  • 2018-03-17
  • 2015-07-19
  • 2015-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-13
  • 2013-04-06
  • 1970-01-01
相关资源
最近更新 更多