Ruby datetime을 JS로 변환
물론 경기 일정에 있어 경기 시간은 매우 중요합니다. 별 문제 없을 거라 생각했습니다. 프런트엔드에서 게임을 구현하기 시작했을 때 백엔드에서 시간이 떨어져 있음을 알았습니다. 내 프로세스를 단계별로 살펴보겠습니다.
this.props.games.map(game => game.date)
여기서 문제는 읽을 수 없는 문자열을 얻는다는 것입니다.
2021-06-12T14:00:00.000Z
2021년 6월 12일 14:00(오후 2:00)에 확인하실 수 있습니다. 이것은 정확한 날짜이므로 이제 보기 좋게 만들기 위해 JS로 변환하기만 하면 됩니다.
Moment.js를 입력합니다. Ruby 시간을 JS 시간으로 변환하는 매우 간단한 방법입니다. React JS에서 사용하는 방법은 다음과 같습니다.
먼저 응용 프로그램에 설치하십시오.
또는
그런 다음 순간을 가져옵니다.
import Moment from 'moment';
이제 game.date를 가져와 Moment 함수의 인수로 사용합니다.
Moment(game.date).format('MMMM DD, LT')
다음은 우리가 돌려받는 것입니다.
June 12, 6:00 AM
이 문제를 해결하는 것은 간단하지만 인터넷 검색 중에 방법을 찾기가 매우 어렵습니다.
바로 건너뛰겠습니다.
Ruby가 백엔드에서 프런트엔드로 datetime 객체를 보낼 때 협정 세계시(Coordinated Universal Time)인 UTC 시간이 됩니다. 시간대가 일치하지 않으면 제대로 찾아오신 것입니다.
Moment.js에는 시간대 함수, 일반 모멘트 함수 및 parseZone 함수를 사용할 수 있는 많은 기능이 있습니다.
우리가 원하는 것은 parseZone 함수입니다. 이것이 Ruby datetime 개체로 수행하는 작업은 들어오는 시간이 걸리고 현지 시간대로 변환하지 않고 정확한 시간을 사용하는 것입니다. 알래스카에 있는 저에게는 UTC보다 8시간 빠르기 때문에 시간이 계속 잘못 돌아오는 것입니다. parseZone은 어떤 변환도 원하지 않는다고 말합니다. Ruby 백엔드가 정확히 무엇을 말하는지 보여주세요.
이것은 여전히 Moment.js의 기능이므로 위의 모든 것이 필요합니다. 이것이 최종 함수의 모습입니다.
Moment.parseZone(game.date).format('MMMM DD, LT')
우리에게 줄 것입니다
June 12, 2:00 PM
정확히 우리가 찾고 있는 것!
Moment.js 문서에는 또한 수많은 서식 옵션이 있으며 이것이 사용 중인지 확실히 확인해야 할 사항입니다!
Reference
이 문제에 관하여(Ruby datetime을 JS로 변환), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kjfossman/converting-ruby-datetime-to-js-4fhp텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)