python - 在 PySpark 中使用夏令时获取两个日期之间天数的巧妙方法
问题描述
我需要计算 PySpark DataFrame 的两个时间戳之间的天数差异。通常时间戳之间的差异应该是一整天,但由于日期包括夏令时,有时差异可能是 +/- 一天。什么是防止这种差异的聪明方法?
ID start. stop days_between
A 2020-10-30 00:53:21 2020-11-28 23:53:21 29
B 2020-11-28 23:53:21 2020-12-28 23:53:21 30
所需的输出将考虑夏令时,如下所示
ID start. stop days_between
A 2020-10-30 00:53:21 2020-11-28 23:53:21 30
B 2020-11-28 23:53:21 2020-12-28 23:53:21 30
我到目前为止计算的是:
df = df.withColumn('days_between',
func.datediff(col("stop"),
col("start")))
有没有聪明的办法解决这个问题?或者我只是简单地将 1h 添加到每年之间xxxx-10-31 00:00:00
和之间xxxx-03-26 23:59:59
的每个时间戳?
解决方案
推荐阅读
- android - 自定义渲染脚本比内在慢
- css - 使用 display: flex 使 div 的宽度等于内容的宽度。内联弹性不起作用
- regex - 正则表达式未在列表中找到所有数字
- android - Android Studio 中原生代码的条件包含目录
- javascript - 计算数组中对象的总和
- symfony - 单元测试:使用构造函数依赖注入模拟服务类
- sql - 如何在 SQL ORACLE 中强制转换 DATE 列以获得正确的聚合
- java - 如何在骆驼 cxf 端点上配置超时
- git - 如何使用瓷器/工具而不是字符串替换来更新 Git refspec
- visual-studio-code - 无法在 Windows 上的 VSCode 中打开终端