2017-03-27 3 views
0

가, 내가포맷 UTC 날짜 - 시간의 부분 초

2017-03-27 16:27:45.567 

되게되었다 ... 문자열 조작의 지루한 양을 사용하지 않고이를 포맷 할 수있는 방법이있다 예를 들어 "yyyy-MM-dd HH : mm : ss"의 DateTimeFormat 패턴으로 전달하기 전에 초 부분이 46으로 반올림됩니다.

+0

어떤 시간 라이브러리를 사용하고 있습니까? – shmosel

+0

@shmosel Joda-time! – DaveNOTDavid

+0

json을 객체로 파싱하면서 직접 수행 할 수 있습니다. 당신의 json lib jackson 또는 gson은 무엇입니까? 또한 Java bean 클래스를 표시하십시오. 평안한 lib를 사용하고 있습니까? – notionquest

답변

1

이 같은 두 번째를 반올림 할 수 있습니다

DateTime dateTime = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss.SSS") 
     .withZoneUTC() 
     .parseDateTime("2017-03-27 16:27:45.567") 
     .secondOfMinute() 
     .roundCeilingCopy(); 

System.out.println(dateTime); 
// 2017-03-27T16:27:46.000Z 
0

당신이 봤어 (당신이 사용할 수있는)를 MomentJS 라이브러리를? 서버에서 다양한 날짜 형식을 읽고 JavaScript 코드로 이해하는 데 문제가있었습니다 (이로 인해 나를 here). 그 이후로 저는 MomentJS를 사용했고 JavaScript로 날짜/시간을 다루는 것이 훨씬 쉬워졌습니다. 여기

은 예입니다

<script> 
    try 
    { 
     var myDateString = "2017-03-27 16:27:45.567"; 
     var d = moment(myDateString); 

     var result = d.format('YYYY/MM/DD HH:mm:ss'); 
     alert("Simple Format: " + result); 

     // If we have millliseconds, increment to the next second so that 
     // we can then get its 'floor' by using the startOf() function. 
     if(d.millisecond() > 0) 
      d = d.add(1, 'second'); 

     result = d.startOf('second').format('YYYY/MM/DD HH:mm:ss'); 
     alert("Rounded Format: " + result); 
    } 
    catch(er) 
    { 
     console.log(er); 
    } 
</script> 

그러나 물론, 당신은 아마 함수에이 논리를 포장 할 수 있습니다.

+1

JavaScript에 관한 질문이 아닙니다. – shmosel