문제

Datestring으로 초기화 할 때 기본적으로 기본적으로 기본적으로 기본적으로 JavaScript 날짜 개체를 사용할 수없는 것 같습니다. 문화 정보를 날짜 개체에 전달하는 방법이 없습니다.

즉, 클라이언트 로케일 설정이 무엇이든 상관 없습니다

var d = new 날짜 ( "08/10/2009")는 고객의 로케일이 영국 인 경우 2009 년 10 월 8 일이 아닌 2009 년 8 월 10 일을 나타내는 날짜 개체를 항상 만들 것입니다.

따라서 내 요구 사항이 날짜/달/몇 년/몇 년을 쉽게 추가/빼기를 쉽게 할 수 있다는 것이 날짜 개체없이 쉽게이 작업을 수행하는 영리한 방법이 있습니다.

내가해야 할 일은 날짜에 하루를 추가하는 것입니다 (또는 날짜의 문자열 표현). 따라서 내 코드가 로케일 정착이 미국에있는 경우 "10/08/2009"와 같은 문자열이 보일 때 "10/09/2009"까지까지 휘젓지만 영국에서는 영국에 있었다면 그럴 것입니다. 날짜의 영국 문자열 표현을 알고 "09/10/2009"까지 whack습니다.

도움이 되었습니까?

해결책

JavaScript의 날짜 조작 및 현지화를 위해 항상 권장합니다. datejs 도서관.

이 라이브러리는 날짜 개체의 사용을 추상화하고 매우 좋은 현지화 옵션, 강력한 날짜 구문 분석 및 서식을 가지고 있으며 매우 유창한 API도 있습니다.

다른 팁

만약 너라면 알다 입력 포맷 된 DD/MM/YYYY를 받고 있습니다. 올바른 날짜를 쉽게 조립할 수 있습니다.

function britDay(D){
 D= D.match(/\d+/g);
 return new Date(+D[2], D[1]-1, +D[0]);
}

TolocaledAtestring은 날짜를 사용자가 예상 한 형식으로 반환합니다.

특정 서식 규칙에 순종하는 사용자 입력에 의존하는 것은 낙관적입니다. 따라서 대부분의 사이트에서 별도의 레이블이 지정된 입력 또는 월, 날짜 및 연도의 필드를 사용하는 이유입니다.

날짜에 하루를 추가하기가 쉽다는 것을 알고있을 것입니다. 날짜에 86,400 * 1000 밀리 초 만 추가하십시오. 로케일에 표시하는 것이 문제입니다. date.tolocalestring ()가 당신에게 옳은 일을하지 않습니까?

dojo.date.locale.parse는 선택한 로케일에 따라 형식의 문자열을 구문 분석 할 수 있습니다. Unicode.org/cldr에 기반한 문화 데이터 테이블이 있습니다. 보다 이 기사 자세한 내용은.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top