>  기사  >  웹 프론트엔드  >  javascript 날짜 객체를 string_javascript 기술로 포맷팅하는 구현 방법

javascript 날짜 객체를 string_javascript 기술로 포맷팅하는 구현 방법

WBOY
WBOY원래의
2016-05-16 17:03:541283검색

JavaScript에서 제공하는 날짜 형식은 너무 간단합니다. 일반적으로 애플리케이션은 형식 지정 방법을 자체적으로 구현해야 합니다. 다음은 일반적인 요구 사항을 충족할 수 있는 형식 지정 솔루션입니다. 날짜 템플릿을 사용하면 텍스트를 구분 기호로 사용할 수도 있고 yyyyMMdd와 같은 구분 기호 없이 형식을 지정할 수도 있습니다.

원칙:정규 표현식을 사용하여 날짜 템플릿 [ yyyy , MM, dd] 및 구분 기호를 배열로 변환한 다음 날짜 요소를 실제 값으로 바꿔 날짜 문자열

을 구성합니다.

붙여넣기로 실행할 수 있는 두 가지 기능이 구현되어 있습니다.

확장 방법:

예제는 연도, 월, 일, 시, 분, 초, 밀리초 요소만 지원합니다. 요일을 표시해야 하는 경우 값에 w = getDay()를 추가하고 정규식을 수정할 수 있습니다. y |M |d |H |m |s |S |w |[^yMdHmsSw]/g로 표현하면 충분합니다.

월이나 주를 전체 또는 간략한 영어로 표시해야 하는 경우 cfg에 해당 구성을 추가하면 됩니다. cfg에는 예시만 추가했습니다.

사용법:

var date = new Date();
var str = formatDate(date, 'yyyy year MMM Month dd day')
그러면 str 값은 2012년 7월 29일입니다

코드 복사 코드는 다음과 같습니다.

/**
* 형식 정수
* @param number:number 형식을 지정할 정수
* @param fmt:string 정수 형식
*/
함수 형식번호(번호 , fmt ) {
숫자 = 숫자 '';
if (fmt.length > number.length) {
return fmt.substring(number.length) 숫자
}
return 번호;
}

/**
* 문자열 표현으로 날짜 형식 지정
* @param datetime:Date 형식을 지정할 날짜 개체
* @param format:String 날짜 형식
*/
함수 formatDate(datetime, format) {
var cfg = {
MMM : ['一', 'two', '三', '4' , '5', '6', '7', '8', '9', '10', '11', '12'],
MMMM : ['1', '2', '3 ', '4', '5', '6', '7', '8', '9', '10', '11', '12']
},
값 ​​= {
y : datetime.getFullYear(),
M : datetime.getMonth(),
d : datetime.getDate(),
H : datetime.getHours(),
m : datetime.getMinutes(),
s : datetime.getSeconds(),
S : datetime.getMilliseconds()
}
/*정규식을 사용하여 날짜 형식의 각 요소를 분할합니다* /
var elems = format.match(/y ​​​​|M |d |H |m |s |S |[^yMdHmsS]/g)
//날짜 요소를 실제 값으로 교체
(var i = 0; i if (cfg[elems[i]]) {
elems[i] = cfg[elems[i]][values[elems [ i].charAt(0)]];
} else if (values[elems[i].charAt(0)]) {
elems[i] = formatNumber(values[elems[i].charAt ( 0)], elems[i].replace(/./g, '0'))
}
}

return elems.join('')
}

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.