2017-03-27 11 views
0

サーバからJSON UTC日時データを解析した後、私は...の書式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クラスを表示します。あなたは安らぎのライブラリを使用していますか? – 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

関連する問題