2016-10-31 4 views
0

입력이 type="time"이고 시간을 0으로 변환하고 싶습니다. 내 날짜가 Thu Jan 01 1970 02:35:00 GMT+0000처럼 보이기를 원합니다.momentjs를 사용하여 시간 변환에 대한 도움이 필요합니다.

let value = moment('02:35','HH:mm').utc()이라고 쓰면 Mon Oct 31 2016 01:35:00 GMT+0000이됩니다. 0에서 시작하는 시간 소인 시간을 yearmonthday으로 지정하지 않고 시간을 확보 할 수 있습니까?

나는 내 경우는 입력 type="time" 작업을하고 난 단지이 형식 여기 HH:mm

의 값을 얻을 수 있다는 것을 다시 지정이 놀 수있는 gist이다.

답변

3

내가 오해 할 수 있지만, 시간의 기본으로 유닉스 시간 0을 사용하려면 유닉스 시간 후 변경하려는 시간의 요소를 편집 얻을 수 있습니다 :

let value = moment(0).set({'hour': 2, 'minute': 35}).utc(); 

moment(0) 얻을 것이다을 시작 날짜 (Unix 시간 시작)를 입력하면 .set({'hour': 2, 'minute': 35})으로 시간을 편집 할 수 있습니다.

이 반환합니다 : 그것은 트릭을 만들 수있는, Thu Jan 01 1970 02:35:00 GMT+0000

+0

감사하지만 문제가 있다는 것입니다, 내가 좋아하는대로 GMT + 1 구역에있는 경우 02 : 35가 아닌 '01 : 35'만 받게됩니다. – Ganbin

+0

시간이 필요할 때 타임 스탬프를 처리하는 것은 복잡 할 수 있다는 것을 알고 있습니다. 필자의 경우 duration은 24H보다 더 길어질 수 없으므로이 기간을 기준으로 좀 더 정교한 데이터를 원한다면 문자열이나 숫자 속성에 저장 한 다음 계산 속성을 갖는 것이 더 좋을 것이라고 생각합니다. – Ganbin

2

당신은 1 월 1 일에 날짜 상대를 구문 분석 할 수있는 1970

var time = document.getElementById('time-input').value; 
 
var date = moment.utc(time + ' 1/1/1970','HH:mm D/M/YYYY').format('ddd MMM DD YYYY HH:mm:ss zZ'); 
 

 
console.log(date); // Thu Jan 01 1970 02:35:00 UTC+00:00
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.15.2/moment.min.js"></script> 
 
<input id="time-input" type="time" value="02:35" />

+0

고마워하지만 다시 이것은 나에게 까다로운 일이다. 내가 정말로 필요로하는 데이터를 저장하는 데는 너무 많은 계산을하지 않아도 내 기간을 표시/편집/저장하는 솔루션을 찾아 볼 것이다. – Ganbin

관련 문제