Based on Jesper's suggestion, here is a solution:
import java.sql.Time
case class Transactions(creationSeconds: Int )
val formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
def parseTransac(line: String): (Transactions) = {
val fields = line.split(',')
val fullDateTime = new Time(formatter.parse(fields(0)).getTime())
val creationTime = fullDateTime.toString.split(':')
val creationSeconds = creationTime(0).toInt*3600 + creationTime(1).toInt*60 + creationTime(2).toInt
val transactions = Transactions(creationSeconds)
(transactions)
}
and here is another solution based on the Dipankar hint:
import java.sql.Time
import org.joda.time.DateTime
case class Transactions(creationTime: Int)
val formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
def parseTransac(line: String): (Transactions) = {
val fields = line.split(',')
val fullDatTime = new DateTime(formatter.parse(fields(0)).getTime())
val fromMidnight = fullDatTime.withTimeAtStartOfDay()
val duration = new Duration(fromMidnight, fullDatTime)
val creationTime = duration.toStandardSeconds().getSeconds()
val transactions = Transactions(creationTime)
(transactions)
}
source
share