在Databricks中格式化Y2K日期值



1901年1月01日转换为2001年1月01日,这是错误的。在Databricks中如何做到这一点?

%sql
Select '01-Jan-01' badDate, to_date('01-Jan-01','dd-MMM-yy') as date2, date_format('01-Jan-01','d-MMM-yy'),,date_format('01-Jan-01','dd-MM-yy'),date_format('01-01-01','dd-MM-yy');

不清楚你在问什么,但是你的日期格式字符串的格式不正确。应该是dd-MM-yy,你却用dd-MM-yy

只是一个想法-因为它是Databricks。使用Python函数将其转换为截止日期'01-01-'+ year(date)

cutoff_date = pd.to_datetime('01-01-2023')
df.loc[df.date > cutoff_date, 'date'] -= pd.DateOffset(years=100)

可能的解决方案使用pandas修复错误年份(y2k bug)的简单方法

最新更新