آژانس هواپیمایی
pop up

تابع NOW() و تبدیل به تاریخ ایران

شروع موضوع توسط ma_christian ‏20 دسامبر 2007 در انجمن asp , ASP.NET

  1. ma_christian

    ma_christian Registered User

    تاریخ عضویت:
    ‏25 ژانویه 2007
    نوشته ها:
    366
    تشکر شده:
    2
    محل سکونت:
    Tehran
    سلام
    خواستم ببینم که چگونه می توانم تابع now() را به تاریخ ایران تبدیل کنم.

    آیا میشه که بدون برنامه نویسی و با دستورات sql اون رو تبدیل کنم؟!

    ممنون میشوم کمک کنید.​
     
  2. mosyhey1

    mosyhey1 Registered User

    تاریخ عضویت:
    ‏27 جولای 2005
    نوشته ها:
    224
    تشکر شده:
    4
    همان طور که می دانید خروجی تابع ()Now از دو بخش تشکیل شده است؛ یکی تاریخ و دیگری ساعت که برای تبدیل آن به ایرانی هر دو بخش باید تغییر کند.

    برای تغییر بخش ساعت به ساعت ایران:

    معمولاً ساعت سرور منطبق بر کشور همان سرور است و برای جبران اختلاف:
    ابتدا یک دستور Now را روی سرور اجرا کنید مثلاً اینگونه:
    کد:
    Response.Write(Now())
    سپس محاسبه کنید چقدر با ساعت رسمی ایران فاصله دارد. البته اگر ساعت کامپیوتر شما و ساعت سرور هر دو دقیق باشند این اختلاف هیچ گاه در ثانیه نیست. اکثراً اختلاف n ساعت و 30 دقیقه می باشد. مثلاً 3.5 ساعت یا 8.5 و ....
    حال که اختلاف معلوم شد بایستی این مقدار را با ساعتی که از سرور می گیرید جمع کنید تا ساعت محلی به دست آید. مثلاً اگر با کسر 10.5 ساعت از ساعت سرور، ساعت ایران به دست می آید می توانید ساعت ایران را اینگونه به دست آورید و آن را چاپ کنید:
    کد:
    Response.Write(Now()+(-10.5/24))
    توجه کنید اختلاف را درست اعمال کنید چون جمع با 20 ساعت یا کسر 4 ساعت هرچند در زمان یکسان است ولی تاریخ روز را عوض می کند.
    همچنین توابع بسیاری برای کار با ساعت و تاریخ هست که این یکی از ساده ترین راه ها بود.
    همچنین به علت اختلاف ساعات بهاری و تابستانی و زمان جلو و عقب کشیدن ساعت کشور ها و این که ایران برنامه اش مشخص نیست ممکن است اشکالاتی در حوالی بهار یا پاییز پیش بیاید که بایستی بررسی کنید.

    برای تغییر بخش تاریخ به هجری شمسی:

    امکاناتی را برنامه نویسی net. در اختیار شما می گذارد ولی برای asp کلاسیک نیز کد های متنوعی هم در این فروم و هم در فروم های دیگر موجود است که با جستجو به آن می رسید.
     
  3. ma_christian

    ma_christian Registered User

    تاریخ عضویت:
    ‏25 ژانویه 2007
    نوشته ها:
    366
    تشکر شده:
    2
    محل سکونت:
    Tehran
    آقا ممنونم

    خیلی خیلی لطف کردی ...
     
  4. tabeez

    tabeez Registered User

    تاریخ عضویت:
    ‏7 دسامبر 2006
    نوشته ها:
    260
    تشکر شده:
    0
    ممنون، من هم استفاده کردم...