2017-02-06 2 views
0

나는JavaScript에서 날짜를 다른 형식으로 변환하는 방법은 무엇입니까?

2017-04-20T07:00:00Z 

같은 API에서 날짜를 받고 있어요 어떻게 다음으로 서식을 수 있을까? I 날짜 표시 반응 사용하고

20.04.2017 

:

<div>{props.data.day}</div> 
I는 예를 시도

toISOString() 조각 (0, 10).하지만 제대로 작동하지 않습니다. 나는 또한 다른 해답을 보았지만 아직 해결책을 찾을 수 없었다.

+0

는 아마 [날짜 문자열의 형식을 변경 * *]의 중복 (http://stackoverflow.com/questions/4095677/changing-the-format-of-a-date-string). – RobG

+1

다음도 있습니다 : 순간을보세요 .js – nozzleman

+0

UTC 날짜를 사용 하시겠습니까, 아니면 현지 날짜로 변환 하시겠습니까? 하와이는 UTC-1000이므로 2017-04-20T07 : 00 : 00Z은 2017 년 4 월 19 일 오후 9시 (즉, 2017-04-19T021 : 00 : 00UTC-1000)입니다. – RobG

답변

1
다음은 타사 라이브러리없이 작동

:

console.log(convertDate(new Date("2017-04-20T07:00:00Z"))); 

function convertDate(date) { 
    var day = date.getDate(); 
    day = day < 10 ? "0" + day : day; 
    var month = date.getMonth() + 1; 
    month = month < 10 ? "0" + month : month; 
    var year = date.getFullYear(); 
    return day + "." + month + "." + year; 
} 

이 제공 :

20.04.2017 

당신은 함수로 구성 요소에 이것을 추가하고 같은 반환 값을 배치해야 귀하의 div의 콘텐츠

다른 답변에서 언급했듯이 시간대 및 기타 시간 기반 문제를 생각할 필요없이 처리 할 수있는 타사 라이브러리를 사용하는 것이 좋습니다.

1

MomentJS을 사용하여 날짜 문자열을 구문 분석하고 형식을 지정할 수 있습니다. 이 작업을 수행하는 라이브러리를 선택하십시오. 비즈니스 로직에 대해 걱정해야합니다. 성숙한 것을 사용하십시오. 너를 위해 무거운 짐을 덜어주기 위해 널리 사용되는 도서관.

console.log(moment('2017-04-20T07:00:00Z', moment.ISO_8601).format('DD.MM.YYYY'));
.as-console-wrapper { top: 0; max-height: 100% !important; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>

소프트웨어 개발의 일부는 코드 재사용이다. 데이트 라이브러리를 개발하지 않으므로, 데이트 라이브러리를 만드는 것에 대해 걱정할 필요가 없습니다.

0

결과를 Regex로 구문 분석 할 수 있습니다.

function convertDate(date){ 
    var parsedDate = date.match(/^([\d]{4})-([\d]{2})-([\d]{2})/) 
    return parsedDate[2] + '.' + parsedDate[1] + '.' + parsedDate[0] 
} 
convertDate('2017-04-20T07:00:00Z') 
1

당신이 문자열로 날짜를 저장하는 경우 당신은 이런 식으로 변환 할 수 있습니다

var i ='2017-04-20T07:00:00Z'; 
var date = i.split('T'); 
console.log(date[0].split('-').reverse().join('.')) 

이 제공 :

20.04.2017 
+0

잘 돌아 갔지만 다른 대답을하기로 결심했습니다. 어쨌든 고마워 – user45

0

그런 다음에 일, 월, 년을 추출 할 수 있습니다 원하는대로 사용하십시오!

var oldDate = new Date('2017-04-20T07:00:00Z'); 

var d = oldDate.getDay().toString(); 
var m = oldDate.getMonth().toString(); 
var y = oldDate.getFullYear().toString(); 

if(d.length < 2){ 
    d = '0' + d; 
} 
if(m.length < 2){ 
    m = '0' + m; 
} 

var myDate = d + '/' + m + '/' + y; 

window.alert(myDate); 
관련 문제