날짜 형식 지정(Moment.js)
다음 형식의 문자열이 있습니다.
var testDate = "Fri Apr 12 2013 19:08:55 GMT-0500 (CDT)"
Moment.js get은 이 포맷으로 사용하고 싶습니다.mm/dd/yyyy : 04/12/2013
표시용입니다.
이 방법으로 하려고 했는데
moment(testDate,'mm/dd/yyyy');
어떤 오류와 설명there is no such method called replace
내가 잘못된 방법으로 접근하고 있는 건가요?
편집
또한 Meteor.js용으로 패키지화된 Moment.js 버전을 사용하고 있습니다.
Object [object Date] has no method 'replace' : The Exact error from the console
스택 트레이스:
at makeDateFromStringAndFormat (http://127.0.0.1:3000/packages/moment/lib/moment/moment.js?b4e3ac4a3d0794023a4410e7941c3e179398b5b0:539:29)
at moment (http://127.0.0.1:3000/packages/moment/lib/moment/moment.js?b4e3ac4a3d0794023a4410e7941c3e179398b5b0:652:24)
at populateProfileForEdit (http://127.0.0.1:3000/client/views/home/administration/directory/profiles/profiles.js?acfff908a6a099f37312f62892a22b40f82e5e0f:147:25)
at Object.Template.profile_personal.rendered (http://127.0.0.1:3000/client/views/home/administration/directory/profiles/profiles.js?acfff908a6a099f37312f62892a22b40f82e5e0f:130:13)
at Spark.createLandmark.rendered (http://127.0.0.1:3000/packages/templating/deftemplate.js?b622653d121262e50a80be772bf5b1e55ab33881:126:42)
at http://127.0.0.1:3000/packages/spark/spark.js?45c746f38023ceb80745f4b4280457e15f058bbc:384:32
at Array.forEach (native)
at Function._.each._.forEach (http://127.0.0.1:3000/packages/underscore/underscore.js?867d3653d53e9c7a171483edbcad9670e12288c7:79:11)
at http://127.0.0.1:3000/packages/spark/spark.js?45c746f38023ceb80745f4b4280457e15f058bbc:382:7
at _.extend.flush (http://127.0.0.1:3000/packages/deps/deps.js?9642a93ae1f8ffa8eb1c2475b198c764f183d693:231:11)
에 대한 두 번째 주장moment()
는 표시 형식이 아닌 해석 형식입니다.
그러기 위해서는 다음 방법을 사용합니다.
moment(testDate).format('MM/DD/YYYY');
또한 케이스는 중요합니다.Month, Day of Month 및 Year의 경우 형식은 대문자로 해야 합니다.
mote.js를 포함시키고 아래 코드를 사용하여 날짜 형식을 지정할 수 있습니다.
var formatDate= 1399919400000;
var responseDate = moment(formatDate).format('DD/MM/YYYY');
출력은 '13/05/2014'입니다.
moment().format(); // "2019-08-12T17:52:17-05:00" (ISO 8601, no fractional seconds)
moment().format("dddd, MMMM Do YYYY, h:mm:ss a"); // "Monday, August 12th 2019, 5:52:00 pm"
moment().format("ddd, hA"); // "Mon, 5PM"
Makement.js는 필요 없을 것 같습니다.
모멘트는 훌륭한 시간 조작 라이브러리이지만 레거시 프로젝트로 간주되며 팀은 다른 라이브러리 사용을 권장하고 있습니다.
date-fns는 최고의 경량 라이브러리 중 하나입니다.모듈러형이기 때문에 필요한 기능을 선택하여 번들사이즈(발행&문)를 줄일 수 있습니다.
현대 응용 프로그램에서 모멘트를 사용하는 것에 반대하는 또 다른 일반적인 주장은 모멘트의 크기입니다.모멘트는 현대적인 "트리 흔들기" 알고리즘에서는 잘 작동하지 않기 때문에 웹 애플리케이션 번들의 크기를 늘리는 경향이 있습니다.
import { format } from 'date-fns' // 21K (gzipped: 5.8K)
import moment from 'moment' // 292.3K (gzipped: 71.6K)
날짜 형식 지정:date-fns
:
// moment.js
moment().format('MM/DD/YYYY');
// => "12/18/2020"
// date-fns
import { format } from 'date-fns'
format(new Date(), 'MM/dd/yyyy');
// => "12/18/2020"
커닝 시트에 대한 자세한 내용과 모멘트를 대체할 수 있는 기능 목록.js: You-Dont-Need-Motentjs
var moment = require('moment');
let yourdate = '2021-01-02T07:57:45.121Z'; // for example
moment(yourdate).format('MM/DD/YYYY');
// output : 01-02-2021
moment(yourdate).format('DD-MMM-YYYY');
// output : 01-Jan-2021
출력 날짜 사용 시작 시format
. second moment 인수는 해석용입니다.단, 생략하면 다음과 같습니다.testDate
권장 해제 경고를 발생시킵니다.
권장 해제 경고: 제공된 값이 인식된 RFC2822 또는 ISO 형식이 아닙니다...
var testDate= "Fri Apr 12 2013 19:08:55 GMT-0500 (CDT)"
let s= moment(testDate).format('MM/DD/YYYY');
msg.innerText= s;
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<div id="msg"></div>
이 경고를 생략하려면 구문 분석 형식을 제공해야 합니다.
var testDate= "Fri Apr 12 2013 19:08:55 GMT-0500 (CDT)"
let s= moment(testDate, 'ddd MMM D YYYY HH:mm:ss ZZ').format('MM/DD/YYYY');
console.log(s);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
"L"을 다음에 전달할 수 있습니다.format
국제화를 처리하는 방법...
moment.locale('en-US');
moment().format("L");
> "06/23/2021"
moment.locale('fr');
moment().format("L");
> "23/06/2021"
기타 긴 날짜 형식(fr
로케일):
LT : 'HH:mm',
LTS : 'HH:mm:ss',
L : 'DD/MM/YYYY',
LL : 'D MMMM YYYY',
LLL : 'D MMMM YYYY HH:mm',
LLLL : 'dddd D MMMM YYYY HH:mm'
이것은 여러 날짜 형식을 차례로 찾고 있는 사람에게 기꺼이 또는 예기치 않게 도움이 될 수 있습니다.코드를 찾으십시오.현재 날짜에 moment.format 함수를 사용하고 있습니다(오늘은 29-06-1989). var startDate = moment(new Date()).포맷('MM/DD/YY'), 결과: 06/28/20
스테이트먼트 「new Date(start Date)」를 실행한 후, 「06/28/20」으로서 해 파트:20 만이 유지됩니다.결과는 "Mon Jun 28 1920 00:00:00 GMT+0530(인도 표준시)"입니다.
그 후 "06/28/20"에서 startDate = moment(startDate).format('MM-DD-YYY')라는 다른 형식을 사용하면 결과: 06-28-1992로 두 번째 시도에서 정확한 날짜를 알 수 있습니다.그러나 IE에서는 문제가 발생하고 있기 때문에 특정 날짜에 하나의 날짜 형식을 적용할 수 있다는 것을 알았습니다.두 번째 날짜 형식을 원할 경우 첫 번째 날짜 형식 결과가 아닌 새로운 날짜에 적용해야 합니다.또한 처음으로 'MM-DD-YYY'를 적용한 후 다음 'MM-DD-YY'가 IE에서 작동한다는 점도 주목해야 한다.명확하게 이해하기 위해 링크에서 질문을 찾으세요: IE 11에서 Momentjs 날짜 형식을 사용할 때 날짜가 잘못되었습니다.
언급URL : https://stackoverflow.com/questions/15993913/format-date-with-moment-js
'IT' 카테고리의 다른 글
MariaDB/MySQL에서 = 대신 <=>을(를) 사용하지 않는 경우 (0) | 2023.01.31 |
---|---|
MariaDB - my.cnf를 통해 max_connections를 설정할 수 없습니다. (0) | 2023.01.31 |
Python 형식 문자열에서 %s의 의미는 무엇입니까? (0) | 2023.01.21 |
치명적 오류: 정의되지 않은 함수 mysql_connect() 호출 (0) | 2023.01.21 |
MySQL은 두 값 사이에서 랜덤 값을 가져옵니다. (0) | 2023.01.21 |