不同日历的日期

时间:2015-06-02 06:42:19

标签: sql date datetime calendar sqldatetime

我正在开展一个已经在2个国家运行的项目。在我们在尼泊尔部署该项目之前,一切都很好。问题是他们没有使用标准格里高利历。他们有自己的日历叫做Bikram Sanwant Calendar。我们现有的数据库有DateTime / Date列,我不能再使用了,因为根据公历,他们日历中的几个月有32天不是有效日期。因此我们考虑将所有日期保存在3个不同的列中,如日,月和年。不仅如此,我们还使用了内置的标准SQL DateTime函数,如DateAdd,DateDiff等......所以我还必须编写自己的函数并更改所有查询,存储过程和函数。

有谁知道如何处理这个问题或者对这个问题有更好的了解?

请提供您的意见和建议。

提前致谢。

1 个答案:

答案 0 :(得分:0)

检查此PHP代码以将AD转换为BS。希望这有助于您了解更多。

<?php 
    //The Vikram Samvat calendar is 56 years 8 months and 14 days ahead (in count) of the solar Gregorian calendar
    //date_default_timezone_set('Asia/Kathmandu');

    $date = date('Y-m-d');
    $ts1 = strtotime($date);
    $year1 = date('Y', $ts1) + 56;
    $month1 = date('m', $ts1) + 8;
    $day1 = date('d', $ts1) + 14;

    if($month1 >12) {
      $year1 = $year1+1;
      //$remMonth = $month1-12;
      $month1 = $month1-12;
    }

    if($day1 >30) {
       $month1 = $month1+1;
      //$remMonth = $month1-12;
       $day1 = $day1-30;
    }

    //$day1 = date('d', $ts1);
    echo $year1."-".$month1."-".$day1;

?>