我试图将标题中的日历日期转换为儒略日期,我在teradata中的做法是:
CAST((TO_CHAR(CURRENT_DATE-1,'J')) AS INT)
我尝试了以下方法:
from_unixtime(unix_timestamp(date_sub(to_date(from_unixtime(unix_timestamp())),1), 'yyyy-MM-dd'),'j')
但“j”不是Hive的有效模式。
谢谢。
编辑:我不是想得到yyyyddd格式的儒略日期,我是想得到2018年2月14日是2458164的儒略日期。
更多编辑:teradata中的这个函数输出儒略日,即公元前4713年12月31日以来的天数。
2条答案
按热度按时间w8f9ii691#
@费尔南多;我用这个链接来计算:https://quasar.as.utexas.edu/billinfo/juliandatesg.html. 请注意,网站上写着(引用):
注意,这总是给你半天额外的时间。这是因为朱利安节从格林威治时间中午开始。这对天文学家来说很方便(他们直到最近才在夜间观测到),但却令人困惑。
当前日期减去一天:2018年2月13日结果:2458162.5
还有这个警告(再次引用网站):
警告:对于1582年之前的公历日期和负儒略日数字,不保证进行此计算。
==========上一个错误答案=======
@费尔南多,请使用date\子函数,格式为yyyyddd。希望这有帮助。谢谢。
gpfsuwkq2#
这个问题用密码解决了@âńōŋŷxmo公司ůŝ. 我只是做了一点修改,用from\u unixtime和unix\u timestamp来代替当前的\u日期。
我还设置了一个上限函数来避免小数。