用moment.js解析字符串到目前为止

rea*_*ify 141 javascript momentjs

我想用moment.js 2014-02-27T10:00:00和输出日月份(2014年3月14日)解析以下字符串我一直在阅读文档但没有成功 http://momentjs.com/docs/# /分析/现在/

Ste*_*aul 301

我似乎总是发现自己落在这里只是为了意识到标题和问题并不完全一致.

如果要从字符串中获取日期对象:

const myMoment = moment(str, 'YYYY-MM-DD')
Run Code Online (Sandbox Code Playgroud)

  • 是的,只有这一个回答.解析字符串到日期(意思是输入是str,out是日期) (15认同)
  • 我同意@ deathangel908,这是正确的答案. (5认同)

Dav*_*ast 179

您需要使用该.format()功能.

MM - 月份编号

MMM - 月字

var date = moment("2014-02-27T10:00:00").format('DD-MM-YYYY');
var dateMonthAsWord = moment("2014-02-27T10:00:00").format('DD-MMM-YYYY');
Run Code Online (Sandbox Code Playgroud)

小提琴

  • 尝试''var dateCalendarPart = moment(date,'YYYY/MM/DD'); 警报(日期); "" (3认同)
  • 该答案仅适用于OP的字符串为标准日期格式的情况。Stephen Paul的答案显示了如何将给定特定格式的任何字符串转换为可以操纵的日期。 (2认同)

lea*_*eaf 17

不需要moment.js来解析输入,因为它的格式是标准的:

var date = new Date('2014-02-27T10:00:00');
var formatted = moment(date).format('D MMMM YYYY');
Run Code Online (Sandbox Code Playgroud)

http://es5.github.io/#x15.9.1.15

  • 在IE8中不起作用......真是一个惊喜......给'NaN`. (3认同)

gar*_*eth 5

这一刻非常适合我需要的东西。注意它会忽略小时和分钟,如果您允许的话,它就是这样做的。这对我来说很完美,因为我的API调用可以带回日期和时间,但我只关心日期。

function momentTest() {

  var varDate = "2018-01-19 18:05:01.423";
  var myDate =  moment(varDate,"YYYY-MM-DD").format("DD-MM-YYYY");
  var todayDate = moment().format("DD-MM-YYYY");  
  var yesterdayDate = moment().subtract(1, 'days').format("DD-MM-YYYY");   
  var tomorrowDate = moment().add(1, 'days').format("DD-MM-YYYY");

  alert(todayDate);

  if (myDate == todayDate) {
    alert("date is today");
  } else if (myDate == yesterdayDate) {
    alert("date is yesterday");
  } else if (myDate == tomorrowDate) {
    alert("date is tomorrow");
  } else {
    alert("It's not today, tomorrow or yesterday!");
  }
}
Run Code Online (Sandbox Code Playgroud)