2017-02-21 3 views
0

私は最近Scalaで働いています。私はScalaの少しを学ぶ。指定されたタイムスタンプをミリ秒単位でチェックする方法は、Scalaでは00:00hh:mmですか?

問題は、ミリ秒単位のタイムスタンプに.csvファイルの日付と時刻が含まれていることです。タイムスタンプを1つ1つチェックする必要があります。タイムスタンプが00:00(hh:mm)の場合は除外する必要があります。私の知る限り、私はこれを好きでした。

timestamp % 86400000(milliseconds for a day) == 0 

これは正しい方法ですか?

+1

日の開始以来、UNIXエポックまたはミリ秒のタイムスタンプのですか?どの種類のタイムスタンプを解析する必要がありますか? – acidghost

+0

タイムスタンプのタイムゾーンは何ですか? – stefanobaghino

答えて

1

あなたはJDK 8で作業している場合は、(重くJoda-Timeの影響を受けている)新しいJava Time APIを使用することができます。

アカウントにタイムゾーンを取る可能なアプローチは、以下のことができます。

import java.time.{Instant, ZoneId} 
import java.time.zone.ZoneRulesException 

@throws(classOf[ZoneRulesException]) 
def isAtMidnight(timestamp: Long, zone: String = "UTC"): Boolean = { 
    val t = Instant.ofEpochMilli(timestamp).atZone(ZoneId.of(zone)).toLocalTime 
    t.getHour == 0 && t.getMinute == 0 
} 
関連する問題