it-source

Angular2 \ Typcript에서 문자열을 날짜로 변환하는 방법?

criticalcode 2023. 9. 8. 21:34
반응형

Angular2 \ Typcript에서 문자열을 날짜로 변환하는 방법?

특정 날짜를 사용하여 새 날짜 개체를 만들고 싶습니다.예를 들어 특정 문자열에서 변환하려고 생각했습니다.

let dateString = '1968-11-16T00:00:00'

타이프스크립트에서 날짜 객체로 변환하려면 어떻게 해야 합니까?

업데이트:

저는 자바스크립트가 아닌 Typescript에서 해결책을 찾고 있으며 AngularJS(1.x)가 아닌 Angular2에서 해결책을 찾고 있습니다.

날짜 필터를 사용하여 날짜를 변환하고 특정 형식으로 표시할 수 있습니다.

.ts 파일(typescript)에서:

// variables used in html
let dateString = '1968-11-16T00:00:00' 
let newDate = new Date(dateString);

// format date in typescript
getFormatedDate(date: Date, format: string) {
    const datePipe = new DatePipe('en-US');
    return datePipe.transform(date, format);
}

// Convert date to user timezone
const localDate: Date = this.convertToLocalDate('01/01/2021');

convertToLocalDate(responseDate: any) {
    try {
        if (responseDate != null) {
            if (typeof (responseDate) === 'string') {
                if (String(responseDate.indexOf('T') >= 0)) {
                    responseDate = responseDate.split('T')[0];
                }
                if (String(responseDate.indexOf('+') >= 0)) {
                    responseDate = responseDate.split('+')[0];
                }
            }

            responseDate = new Date(responseDate);
            const newDate = new Date(responseDate.getFullYear(), responseDate.getMonth(), responseDate.getDate(), 0, 0, 0);
            const userTimezoneOffset = newDate.getTimezoneOffset() * 60000;

            const finalDate: Date = new Date(newDate.getTime() - userTimezoneOffset);
            return finalDate > Util.minDateValue ? finalDate : null;
        } else {
            return null;
        }
    } catch (error) {
        return responseDate;
    }
}

HTML의 경우:

{{dateString |  date:'MM/dd/yyyy'}}

다음은 구현할 수 있는 몇 가지 형식입니다.

백엔드:

public todayDate = new Date();

HTML:

<select>
<option value=""></option>
<option value="MM/dd/yyyy">[{{todayDate | date:'MM/dd/yyyy'}}]</option>
<option value="EEEE, MMMM d, yyyy">[{{todayDate | date:'EEEE, MMMM d, yyyy'}}]</option>
<option value="EEEE, MMMM d, yyyy h:mm a">[{{todayDate | date:'EEEE, MMMM d, yyyy h:mm a'}}]</option>
<option value="EEEE, MMMM d, yyyy h:mm:ss a">[{{todayDate | date:'EEEE, MMMM d, yyyy h:mm:ss a'}}]</option>
<option value="MM/dd/yyyy h:mm a">[{{todayDate | date:'MM/dd/yyyy h:mm a'}}]</option>
<option value="MM/dd/yyyy h:mm:ss a">[{{todayDate | date:'MM/dd/yyyy h:mm:ss a'}}]</option>
<option value="MMMM d">[{{todayDate | date:'MMMM d'}}]</option>   
<option value="yyyy-MM-ddTHH:mm:ss">[{{todayDate | date:'yyyy-MM-ddTHH:mm:ss'}}]</option>
<option value="h:mm a">[{{todayDate | date:'h:mm a'}}]</option>
<option value="h:mm:ss a">[{{todayDate | date:'h:mm:ss a'}}]</option>      
<option value="EEEE, MMMM d, yyyy hh:mm:ss a">[{{todayDate | date:'EEEE, MMMM d, yyyy hh:mm:ss a'}}]</option>
<option value="MMMM yyyy">[{{todayDate | date:'MMMM yyyy'}}]</option> 
</select>

언급URL : https://stackoverflow.com/questions/43202250/how-to-convert-string-to-date-in-angular2-typescript

반응형