moment.js를 사용하여 문자열을 날짜로 구문 분석


답변:


205

.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');

깡깡이


기존 날짜 변수는 어떻습니까? var date = moment("2014-02-27T10:00:00").format('DD-MM-YYYY'); var dateCalendarPart = moment(date).format('YYYY/MM/DD'); alert(date); alert(dateCalendarPart);유효하지 않은 날짜 오류가 발생합니까 ?????
Andrew Day

3
''var dateCalendarPart = moment (date, 'YYYY / MM / DD')를 시도하십시오. 경고 (날짜); ''
ranjan

@AndrewDay ... "01-02-2017", "1 월 2 일"또는 "2 월 1 일"? Momentjs는 당신의 마음을 읽을 수 없습니다.
leaf

3
이 답변은 OP의 문자열이 표준 날짜 형식이기 때문에 작동합니다. Stephen Paul의 답변은 특정 형식이 지정된 문자열을 조작 가능한 날짜로 변환하는 방법을 보여줍니다.
Agamemnus

361

나는 항상 제목과 질문이 잘 정렬되어 있지 않다는 것을 깨닫기 위해 여기에 착륙하는 것처럼 보입니다.

문자열에서 순간 날짜 를 원한다면 :

const myMoment = moment(str, 'YYYY-MM-DD')

에서 순간 문서 :

기본 Date.prototype을 수정하는 대신 Moment.js는 Date 객체에 대한 래퍼를 만듭니다.

대신 문자열에서 자바 스크립트 Date 객체를 원한다면 :

const myDate = moment(str, 'YYYY-MM-DD').toDate();

16
그렇다. 문자열을 날짜로 구문 분석 (입력은 str, out은 날짜를 의미 함)
deathangel908

@ deathangel908 Lol, 설명이 필요하지 않습니다. 질문은 완벽합니다.
leaf

20

형식이 표준 형식이므로 moment.js가 입력을 구문 분석 할 필요가 없습니다.

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

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


1
ISO 날짜 문자열이있는 경우 moment.js가 필요하지 않습니다. 실제로 Date.parse 를 사용 하여 ISO 문자열로 작업하고 있음을 더 명확하게 알 수 있습니다 (생성자가 다른 형식을 사용할 수 있기 때문에)
Juan 멘데스

3
IE8에서는 작동하지 않습니다 ... 놀랍습니다 ... 제공합니다 NaN.
leaf

@JuanMendes는 귀하의 링크에 따르면을 Date.parse호출 new Date하므로 차이가 없어야합니다.
sk904861

6

순간은 내가 필요한 것에 완벽했습니다. 참고 시간과 분을 무시하고 허용하면됩니다. 내 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!");
  }
}


0
  • 문자열 날짜를 객체 날짜로 변경하는 방법 (moment.js와 함께) :

let startDate = "2019-01-16T20:00:00.000"; let endDate = "2019-02-11T20:00:00.000"; let sDate = new Date(startDate); let eDate = new Date(endDate);

  • moment.js로 :

startDate = moment(sDate); endDate = moment(eDate);

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.