2017-07-02 3 views
0

私は1つの列にエポック時間(文字列型)があります。エポック時間からマイナス1時間です。文字列をエポック時間に変換し、マイナスを実行しようとしています。しかし、私は文字列をエポック時間に変換することができません。助けてください。例:用文字列をエポック時間に変換するには?

val epochTime="1499013460" 

私は、TIは、上記のエポック時間から1時間を減算します。

ありがとうございます!ここで

+0

可能であれば、文字列の日付形式の例を投稿してください – greenshade

+0

あなたはここで探してみましたか? https://stackoverflow.com/questions/31134969/how-to-convert-unix-timestamp-to-date-in-spark –

+0

はい私は試してみました。原因:java.lang.IllegalArgumentException:無効な形式: "1499015689 "は" 9 "に誤っています。 valテーブル= Seq( "" 1499015689 "、1"、 "1499015689"、2))toDF( "col1"、 "col2") val time_col = table.select(col( "col1")) 。 toString( "yyyy-MM-dd"))toDF()私は間違いを犯したことをお知らせします。ありがとう! –

答えて

1

あなたはエポックタイム値を持っており、あなたがしたいすべてはそこから時間を減算することである場合がある可能性の最も簡単な解決策で行くことができます:

val secondsPerHour = 60 * 60 
val withHourSubtracted = (epochTime.toLong - secondsPerHour).toString 
1

は一つのアプローチです:

scala> import java.time.Instant 
import java.time.Instant 

scala> val myString = Instant.now().toString 
myString: String = 2017-07-02T17:04:39.911Z 

scala> Instant.parse(myString).getEpochSecond 
res8: Long = 1499015079 
関連する問題