val df = Seq("2019-07-30", "2019-08-01").toDF
val dd = df.withColumn("value", to_date('value))
dd.show(false)
根据文档https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
F
是格式字符串,如果我需要查看每月的星期几。还有
dd.withColumn("dow", date_format('value, "EEEE")).withColumn("dow_number", date_format('value, "F")).show(false)
+----------+--------+----------+
|value |dow |dow_number|
+----------+--------+----------+
|2019-07-30|Tuesday |5 |
|2019-08-01|Thursday|1 |
+----------+--------+----------+
仅提供当月的星期几,而不提供星期几。
哪个格式的字符串给我星期几作为数字/整数?
很明显,我可以使用:http://www.java2s.com/Tutorials/Java/Data_Type_How_to/Date/Get_day_of_week_int_value_and_String_value.htm
但是不想去使用UDF /不想使用优化过的催化剂date_format
。那么哪个日期格式的字符串可以给我想要的结果?
答案 0 :(得分:1)
如评论中所述,您正在寻找"u"
格式。
另外,从spark 2.3.0开始,您可能想使用dayofweek
方法,该方法更快dayofweek documentation
答案 1 :(得分:0)