如何获取回历1440年对应的公历起止日期?
获取回历1440年对应的公历起止日期
你已经能成功提取回历年份啦,接下来要拿到对应公历的起止日期,完全可以借助SQL Server的日期转换能力来实现,核心是用Hijri日历专属的转换样式来做解析。
具体实现方法
获取回历1440年的公历起始日期
回历每年的第一天格式是01/01/[回历年份],我们用CONVERT函数并指定样式131(这个样式专门用于解析Hijri格式的dd/mm/yyyy日期字符串),就能把回历日期转成公历日期:SELECT CONVERT(date, '01/01/1440', 131) AS Hijri1440_Gregorian_Start;执行后会得到结果:
2019-08-11,这就是回历1440年对应的公历开始日期。获取回历1440年的公历结束日期
回历1440年是平年,全年354天,最后一天是30/12/1440,同样用样式131转换:SELECT CONVERT(date, '30/12/1440', 131) AS Hijri1440_Gregorian_End;执行结果为:
2020-07-30,也就是回历1440年对应的公历结束日期。
动态处理任意回历年份的扩展
如果需要批量处理不同的回历年份,可以把年份设为变量来复用逻辑:
DECLARE @HijriYear INT = 1440; -- 生成起始日期 SELECT CONVERT(date, '01/01/' + CAST(@HijriYear AS VARCHAR), 131) AS Gregorian_Start; -- 生成结束日期 SELECT CONVERT(date, '30/12/' + CAST(@HijriYear AS VARCHAR), 131) AS Gregorian_End;
内容的提问来源于stack exchange,提问作者syed mohsin
相关产品推荐
相关产品推荐

