Pay*_* Sh 3 c# sql-server procedure
我的表中有一些波斯日期,sql server格式如下:
1394/05/14
Run Code Online (Sandbox Code Playgroud)
我必须使用stored procedure将其转换为公历日期,因为我需要将它与今天的日期进行比较。
有谁知道解决方案?我找到了一些代码,但它们在闰年等方面有问题。
顺便说一句,我有以下代码,C#但我认为我必须使用,sql server proc因为这个过程应该以固定的时间表执行。
public static DateTime ConvertToGregorianDate(string persianDate)
{
PersianCalendar pcalendar = new PersianCalendar();
int Year = int.Parse(persianDate.Split('/')[0]);
int Month = int.Parse(persianDate.Split('/')[1]);
int Day = int.Parse(persianDate.Split('/')[2]);
return new DateTime(Year, Month, Day, pcalendar);
}
Run Code Online (Sandbox Code Playgroud)
提前谢谢。
GitHub 上有一个项目可以完全满足您的需求!您只需要按照提供的说明在您的数据库中安装其功能。然后你可以像下面这样转换日期。
这个库的主要好处是你可以完全自由地根据你的需要塑造返回的结果。事实上,没有固定的返回格式。
select dbo.JalaliToGregorian('1395/06/11','/')
--returns 2016-09-01 00:00:00.000
select dbo.GregorianToJalali(GETDATE(),'yyyy MMMM dddd')
-- returns 1395 ??? ???? ???
select dbo.GregorianToJalali(GETDATE(),'yyyy/MM/dd HH:mm')
-- returns 1395/07/01 15:04
Run Code Online (Sandbox Code Playgroud)
在上面的例子中假设GETDATE()Sql server中的Method 返回2016/09/22 15:04:33!
| 归档时间: |
|
| 查看次数: |
5616 次 |
| 最近记录: |