나는 로케일 특정 월 이름을 숫자 (그리고 요일 이름도 가능)와 공통 날짜 형식의 목록으로 역 매핑합니다. 그런 다음 각 문자열을 해당 형식으로 검사하고 일치하는 경우 값 (예 : 정규 표현식)을 파싱하고 추출 된 데이터를 사용하여 JavaScript Date를 구성 할 수 있습니다. 여기
은 (단지 그림을 위해 작동하는 것은 아니다) 아이디어를 보여주기 위해 일부 의사 코드 :
var i18nDate = {
'es': {
'days': ['lunes', 'martes', 'miercoles', ...],
'months': ['enero', 'febrero', 'marzo', ...],
},
// ... for each locale.
};
var i18nFormat = {
'es': [
new RegExp(// Format 1, e.g. "lunes, 29 de agosto de 2011"
'(' + i18nDate.es.days.join('|') + ')' + ', de (\d+) '
+ '(' + i18nDate.es.months.join('|') + ')' + ' de (\d+)'),
// ... for each common date format.
],
// ... for each locale.
};
function parseI18nDate(s) {
var locale, formats, i, m;
for (locale in i18nFormat) {
formats = i18nFormat[locale];
for (i=0; i<formats.length; i++) {
if (m = s.match(formats[i])) {
return new Date(m[x], m[y], m[z]);
// TODO: mapping of field position to date component.
}
}
}
return null;
}
은 분명히 로케일 특정 형식과 값을 포함 밖으로 일 할 많은 세부 사항이 있습니다. 그 노력은 본격적인 도서관을 보증 할만큼 충분히 크다. 아마도 이미 그런 일을하는 오픈 소스 프로젝트가 있습니까?
dd, mm, yy로 변환하는 방법을 묻습니다 ... 독일어, 프랑스어, 스페인어 등 여러 로케일에서 날짜를 변환해야합니다. –