نمایش نتایج 1 تا 3 از 3

نام تاپیک: تقويم و تبديل تاريخ ميلادي/هجري شمسي/هجري قمري/عبري/رومي به يکديگر به زبان T-SQL، يک بار براي هميشه

  1. #1
    کاربر دائمی
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    تهران
    سن
    47
    پست
    182

    Thumbs up تقويم و تبديل تاريخ ميلادي/هجري شمسي/هجري قمري/عبري/رومي به يکديگر به زبان T-SQL، يک بار براي هميشه

    سلام.
    همون طور که مي دونيد اين موضوع يکي از موضوعات مطرحيه که اکثر Programmer هاي ايراني، با اون درگيرن. چيزي که مهمه زبان پياده سازي الگوريتم اين کاره، چون تا به حال افراد بسيار زيادي قبلاً الگوريتم اين کار رو پياده سازي کردند، Delphi, C++‎‎, Visual Basic, Javascript و ...

    مايکروسافت هم که بالاخره با اضافه کردن تقويم Persian به .NET خيال همه ما رو راحت کرد.

    چيزي که شايد فقدانش احساس مي شد، پياده سازي الگوريتم اين کار به T-SQL بود به طوري که تاريخ رو به درستي تبديل کنه و در محاسبه کبيسه اشتباه نکنه، که خودم شخصاً خيلي بهش نياز داشتم ولي تو اينترنت پيدا نکردم.

    به همين دليل هفته گذشته يک تاپيک در همين مورد در اينجا ايجاد کردم (https://barnamenevis.org/showthread.php?t=238819) که اگه کسي چيزي سراغ داره معرفي کنه.

    يکي دو نفر کُدهايي رو معرفي کردن اما وقتي اونها رو تست کردم ديدم هر کدوم به نوعي خطا دارن (جزئيات اين قضيه رو در تاپيکي که در بالا لينکشو دادم مي تونيد ببينيد)، درست مثل کُدي که خودم در بدو امر داشتم و در برنامه اي که الان با اون درگير هستم به کار برده بودم که به دليل خطا، باعث شد مجبور بشم برم دنبال الگوريتم درست اين کار.

    در نهايت تصميم گرفتم خودم کُد اين کار رو به زبان T-SQL از يک برنامه VB 6.0 که 5 تقويم ميلادي/هجری شمسی/هجری قمری/رومی/عبری رو پشتیبانی می کرد بازنویسی کنم که واقعاً هم درست تبدیلات رو انجام می داد.

    لينک زير مطلبيه که در اين خصوص در سايت شخصي خودم گذاشتم. اميدوارم اين اسکريپت براي شما هم مفيد باشه.

    http://m-omrani.com/articles/?a=1

    در صورتي که برنامه اي داريد که در اون تقويم هجري شمسی/قمری/میلادی رو با استفاده از UDF يا SPROC به هم تبدیل می کنید، حتماً صحت الگوريتمش رو چک کنيد، چون ممکنه يه روزي مثل من شما رو دچار مشکل کنه و حتي همون يک روز اختلاف در محاسبه هم براتون دردسرساز بشه.

    براي بررسي صحت الگوريتم خودتون مي تونيد از سايت زير که وابسته به موسسه ژئوفيزيک دانشگاه تهرانه و تقويم هر سال رو تدوين مي کنه استفاده کنيد.

    http://calendar.ut.ac.ir/Fa/

    با آرزوي موفقيت.

  2. #2

    نقل قول: تقويم و تبديل تاريخ ميلادي/هجري شمسي/هجري قمري/عبري/رومي به يکديگر به زبان T-SQL، يک بار بر

    سلام دوست عزیزم،
    حالا چه اصراریه که TSQL باشه؟ البته قبول دارم که فایده اش استفاده در نسخه 2000 هست، ولی با توجه به روی آوردن شرکتها به نسخه 2005 و 2008، دیگه تقید به TSQL برای این نوع محاسبات کمتر شده، مضافا اینکه CLR در محاسبات بهتر از TSQL عمل میکنه، به خاطر داشتن Reference Type و Value Type و از این نوع بهینه سازیها.

  3. #3
    کاربر دائمی
    تاریخ عضویت
    مرداد 1389
    محل زندگی
    تهران
    سن
    47
    پست
    182

    نقل قول: تقويم و تبديل تاريخ ميلادي/هجري شمسي/هجري قمري/عبري/رومي به يکديگر به زبان T-SQL، يک بار بر

    البته همون طوريه که شما مي گي. تازه شما فکر کنم نرفتي اسکريپتي رو که نوشتم ببيني. چون از 50 تا SPROC و UDF تشکيل مي شه(!)

    البته تقصير من هم نبود ها. من فقط کُد رو از VB 6.0 به T-SQL تبديل کردم.

    دنيا رو چه ديدي، شايد نسخه T-SQL که من نوشتم به درد کسي هم خورد.

    در عين حال صرفنظر از اين قضيه يه علت ديگه اي که اين تاپيک رو ايجاد کردم اين بود که اطلاع بدم دوستاني که از دو اسکريپتي که در تاپيک قبلي معرفي شده استفاده مي کنن (https://barnamenevis.org/showthread.php?t=238819) در جريآن باشن که اون دو اسکريپت در محاسبه و تبديل تاريخ ميلادي/شمسي خطا دارن.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •