Spark中时间戳转换不正确

时间:2018-09-28 16:11:05

标签: apache-spark apache-spark-sql

我正在尝试将字符串(UTC时间)转换为时间戳。

List<String> list = new ArrayList<String>();
    list.add("2018-03-11 02:00:00");
    list.add("2018-03-11 03:00:00");
sparkSession.createDataset(list, Encoders.STRING()).select(to_timestamp(col("value").cast(DataTypes.TimestampType), "yyyy-MM-dd HH:mm:ss")).show();

此输出为

+-------------------+
|              value|
+-------------------+
|2018-03-11 03:00:00|
|2018-03-11 03:00:00|
+-------------------+

我看到它应用了DST(CST),因为我正在处理UTC字符串,因此在我的情况下不应该使用它。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您正在使用不带时区组件的日期时间字符串。当您将字符串转换为时间戳并显示时。我想它是在当地时区显示的。