2017-10-31 4 views
0

함수에 전달되는 순간 값이 있습니다. 문자를 YYYY-MM-DD HH : mm (SS-ISO 8601) 형식으로 문자열의 서식을 지정하려고합니다. 날짜의 형식은 정확하지만 시간 값은 생략됩니다.문자열의 서식을 지정하는 순간

코드 : the documentation 당으로

timeTransformer(value: moment.Moment) { 
    return value == null ? null : value.format('YYYY-MM-DD HH:mm'); //Time is 00:00 even though I can see that moment has values 15:37:19 
} 

Can somebody explain this to me?

+0

'내부 속성'(http://momentjs.com/guides/#/lib-concepts/internal-properties/)을'_i' 및'_d'와 같이 사용하지 마십시오. – VincenzoC

+0

그게 무슨 소리 야? 나는'value.format'을 사용하는데'value'는 순간 값입니다. _i와 _d의 이유는 시각에 시간 속성이 설정되어 있음을 보여주고 싶기 때문입니다. 이미지는 Chrome 콘솔의 '보기'창에 있습니다. – Marcus

+2

'_' 내부 속성 값을 보지 않으려 고 sugggest하고 싶었습니다. 구문 분석 및 순간 객체의 가치 표시에 문제가 있다고 판단되면 관련 코드를 공유하십시오. 'value'는 어디서 오는 것입니까? – VincenzoC

답변

1

: 이와 같이

_d의 가치와 _ 접두사 다른 특성은 어떤 목적으로 사용되어서는 안된다.

그런 말로하면, 우리는 무슨 일이 일어 났는지 설명 할 수 있습니다. 귀하의 경우 _i_f이 모두 설정되어 있습니다. _i은 전달한 초기 값을 저장하는 데 사용되는 것으로 보입니다. _f는 입력을 구문 분석 할 때 말한 형식을 저장합니다. 여기를 참조하십시오 :

var m = moment('2017/10/04 12:34:56', 'YYYY/MM/DD'); 
 
console.log(m._i); 
 
console.log(m._f); 
 
console.log(m.format('YYYY-MM-DD HH:mm'))
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.19.1/moment.min.js"></script>

_i 속성은 같은 방법으로 설정할 수 있지만 .format('YYYY-MM-DD HH:mm')를 기록하는 것은 당신이 볼 같은 00:00 보여줍니다. 이것은 YYYY/MM/DD으로 구문 분석 할 때 말한 것이기 때문에 - YYYY-MM-DD을 사용했습니다.

시간을 작동 시키려면 모멘트 객체를 작성하는 코드로 가서 변경해야합니다.

+1

그는 _i 및 _f 변수를 사용하고 있지 않습니다. 나는 그가 콘솔에 날짜를 처음으로 설명했음을 보여준 것으로 생각합니다. –

+0

@LucaDeNardi 알아. 나는 그것들을 사용하지 않고있다. 나는 내부 순간에 어떤 순간이 일어나고 있는지, 그리고 순간적인 물건이 만들어지는 곳에서 그의 문제가 무엇인지를 보여주기 위해 그것들을 기록하고 있습니다. 나는 심지어 나의 대답에 문서화 된 경고를 사용하지 않기로 약속했지만, 그 안에있는 값들은 무슨 일이 일어나고 있는지 지적하는데 여전히 사용될 수있다. –

+0

보세요, 내부 변수'_i'의 시간은 어떤 식 으로든 USING하지 않는 시간은 DateTime 변수 (.NET)가 원래 만들어진 서버 측에 설정된 정확한 시간을 유지합니다. 그리고 이것이 제가 보여 주었던 목적입니다 그 값이 정확하게 정해졌다. 오브젝트는 프로그램 적으로 "생성"되지 않으며, 데이터 테이블에 바인딩 된 Observable 오브젝트 목록 일뿐입니다. – Marcus

관련 문제