当前位置: 首页 > 知识库问答 >
问题:

Spark Scala从日期创建时间戳列

陈晟睿
2023-03-14

我通过连接单独的月、日、年和时间列创建了日期列,但是月和日列的输入数据形式为1,而不是01表示月和日。这是我返回空列的原因吗?还是有其他原因?如果这就是原因,那么如何将日和月列从1改为01、2改为02、…?

这是我第一次使用时间戳,而且我是Scala新手,所以我非常感谢您的帮助。

共有1个答案

仲孙绍元
2023-03-14

只能指定一个字母MDH。Spark将使用该字段包含的最小位数。请注意,您的时间戳字符串没有秒,因此不应包括:ss

val New_DF = Old_DF.withColumn("Timestamp", unix_timestamp($"Date", "M/d/yyyy h:mm a"))

有关日期时间格式化的更多细节,请参见https://docs.oracle.com/javase/7/docs/api/java/text/simpledateformat.html。特别是:

数字:对于格式化,模式字母的数量是最小位数,较短的数字为零填充到这个数量。对于解析,模式字母的数量被忽略,除非需要分隔两个相邻的字段。

 类似资料:
  • 问题内容: 如何创建日期为23/09/2007的时间戳记? 问题答案: 通过,我相信你的意思。您会注意到,该类具有一个接受参数的构造函数。您可以使用以下类进行解析:

  • 问题内容: 这是我要传递时间戳的Under函数,我只需要从时间戳返回的日期,而不是小时和秒。通过以下代码,我得到了- 这是我得到的输出。 但是我只需要这样的日期 有什么建议? 问题答案: 改用SimpleDateFormat: 更新 :Java 8解决方案:

  • 问题内容: 我基本上是想将Unix时间戳(time()函数)转换为与过去和将来的日期都兼容的相对日期/时间。因此输出可能是: 2个星期前 1小时60分钟前 15分钟54秒前 10分钟15秒后 首先,我尝试编写此代码,但是做了一个无法维护的巨大功能,然后我在互联网上搜索了几个小时,但我所能找到的只是脚本仅产生一部分时间(例如:“ 1小时前”纪要)。 您是否已经有执行此操作的脚本? 问题答案: 此功能

  • 问题内容: 有时,我会对Java中不同的Date类型及其实际用法感到困惑。在这里我想总结一下我的理解 毫秒值左右的精简包装,可让JDBC将其标识为SQL DATE值 围绕java.util.Date的瘦包装器,该包装器允许JDBC API将其标识为SQL TIMESTAMP值。通过允许小数秒的精度达到纳秒级,它增加了保存SQL TIMESTAMP小数秒值的能力。 我已经看到大多数项目都更喜欢时间戳

  • 我正在为我的聊天应用程序使用firebase。在聊天对象中,我使用方法添加时间戳。 请就这个问题提出解决办法

  • 我将Datagrip用于PostgreSQL。我有一个带有时间戳格式的日期字段的表。我希望能够: 应用数学运算符减去1天 根据当前-130天的时间窗口对其进行筛选 不显示邮票的HH/MM/SS部分(2016-10-31) 当前开始查询: 第1行的子句导致: [42883]错误:运算符不存在:没有时区的时间戳-整数提示:没有与给定名称和参数类型匹配的运算符。您可能需要添加显式类型转换。职位:69 子