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

TimeZone و date()

شروع موضوع توسط Shahed ‏21 دسامبر 2007 در انجمن PHP

  1. Shahed

    Shahed Registered User

    تاریخ عضویت:
    ‏30 ژوئن 2003
    نوشته ها:
    7,175
    تشکر شده:
    21
    محل سکونت:
    mt.cgi
    سلام
    برای اعمال TimeZone روی خروجی Date چه راه حل منطقی ای هست؟ تو جایی مثل همین فروم که هر کسی یه TimeZone برای خودش انتخاب میکنه مثلا !!
    منظقی ترین راه به نظر من فانکشن date_default_timezone_set() هست ! که اینهارو هم ساپورت میکنه: http://www.php.net/manual/en/timezones.php

    حالا سوال اینکه بهترین راه همینه؟ اگه آره دیتابیسی هست که این تایم زون هارو به همراه اسم کشور آماده داشته باشه تا با یه کوئری همشونو بندازیم داخل یه منوی کشویی؟ که کاربر به راحتی بتونه بر حسب اسم کشور انتخابشون کنه؟ و value ش رو بشه راحت انداخت داخل این فانکشن؟
     
  2. متالیک

    متالیک Registered User

    تاریخ عضویت:
    ‏31 مارس 2007
    نوشته ها:
    1,938
    تشکر شده:
    59
    سلام
    تابع date_default_timezone_set برای php ورژن های 5.1 به بعد فقط کار می کنه. پس می شه بگی بهترین راه نیست.
     
  3. Shahed

    Shahed Registered User

    تاریخ عضویت:
    ‏30 ژوئن 2003
    نوشته ها:
    7,175
    تشکر شده:
    21
    محل سکونت:
    mt.cgi
    البته از اون نظر مشکلی نیست !!
    مشکل اصلی اینه که باید یه لیست 350 رکوردی بزاری جلوی یوزر بگی موقعیتت رو انتخاب کن !! حالا لیست هم اصلا فرندلی نیست !! مثلا ایران میشه Asia/Tehran !
    چه راهی به ذهنت میرسه؟
     
  4. peiman

    peiman Registered User

    تاریخ عضویت:
    ‏23 فوریه 2003
    نوشته ها:
    1,544
    تشکر شده:
    20
    نظرت راجع به خوندن تایم سیستم کاربر با جاوا چیه!؟
    یا استفاده از ip برای انتخاب کشور و بعد زمان محلی!!
     
  5. Shahed

    Shahed Registered User

    تاریخ عضویت:
    ‏30 ژوئن 2003
    نوشته ها:
    7,175
    تشکر شده:
    21
    محل سکونت:
    mt.cgi
    بزنم تو سرت ها :D جاوا اسکریپت چیه :D
    اون ip هم مرحله بعدی کار هست !! که نیاز به یه دیتابیس کامل از کشورها و اختلاف زمانیشون داره که گفتم تو پست اول
    سوال من الان اینه که حالا بر فرض ما اختلاف ساعت رو داریم !! این رو چجوری روی صفحه اعمال کنیم؟
    البته راه زیاد داره ! اینکه هرجا میخوای ساعت رو نشون بدی تاریخ رو اول با time در بیاری و اون اختلاف رو روش اعمال کنی و بعد با date نشونش بدی !! که خوب خیلی دردسر و عذاب هست !!
     
  6. Shahed

    Shahed Registered User

    تاریخ عضویت:
    ‏30 ژوئن 2003
    نوشته ها:
    7,175
    تشکر شده:
    21
    محل سکونت:
    mt.cgi
    البته من فکر میکنم همین ویبالتین هم داره از همین روش استفاده میکنه !!
     
  7. boxilink
  8. peiman

    peiman Registered User

    تاریخ عضویت:
    ‏23 فوریه 2003
    نوشته ها:
    1,544
    تشکر شده:
    20
    پس بزن تو سر خودت!!
    بهترین روشه!! الکی طرف هم گیج نمیشه!! اگه ساعت سیستمش اشتباه باشه بهش اشتباه نشون میده!!
     
  9. Shahed

    Shahed Registered User

    تاریخ عضویت:
    ‏30 ژوئن 2003
    نوشته ها:
    7,175
    تشکر شده:
    21
    محل سکونت:
    mt.cgi
    ببین مشکل صرفا نشون دادن ساعت جاری نیست ها !! نشون دادن یکسری اتفاقات که تاریخ و ساعتشون توی دیتابیس هست !
    مثلا همین پستی که اینجا میزنیم تاریخ و ساعت ارسالش ثبت میشه و میمونه. حالا اگه Time Zone خودم رو توی پروفایلم عقب جلو کنم ساعت ارسال این پست هم با توجه به موقعیت محلی که انتخاب کردم عوض میشه !
    گرفتی چی میگم؟
     
  10. peiman

    peiman Registered User

    تاریخ عضویت:
    ‏23 فوریه 2003
    نوشته ها:
    1,544
    تشکر شده:
    20
    لازم نیست این دو تا بهم ربط داشته باشن!!
    تو یه تاریخ رو نشون میدی
    و پستها رو با تاریخ سرور تو دیتا بیس ذخیره میکنی!!
    بعد که میخوای نشون بدی با محدوده زمانی که کاربر تو پروفایلش ذخیره کرده تنظیم میکنی و نشون میدی!!
    میخوای کابر تنظیم نکنه؟ میخوای خودکار باشه؟! راهشو گفتم!!
    ip رو میگیری
    کشور اون ip رو در میاری!!
    بعد محدوده زمانی رو تنظیم میکنی!! نوشتنش هم سخت نیست!! همین منو آبشاری وی بی رو بردار بریز تو یه فایل یا تیبل دیتا بیس!!
    اوکی!؟
     
  11. Shahed

    Shahed Registered User

    تاریخ عضویت:
    ‏30 ژوئن 2003
    نوشته ها:
    7,175
    تشکر شده:
    21
    محل سکونت:
    mt.cgi
    ببین پیمان !! اساس تاپیک برای پیداکردن بهترین راه برای اعمال این اختلاف روی تاریخ و ساعتیه که تو دیتابیس هست !!
     
  12. peiman

    peiman Registered User

    تاریخ عضویت:
    ‏23 فوریه 2003
    نوشته ها:
    1,544
    تشکر شده:
    20
    من هم میگم راه منطقی غیر از اینی که من میگم نیست!!
     
  13. ads

    ads Registered User

    تاریخ عضویت:
    ‏23 جولای 2004
    نوشته ها:
    633
    تشکر شده:
    6
    فکر نکنم راه حلی منطقی تر از اینی که اینجا گفته شده باشه.
     
  14. avajang.com .leftavajang.com.right
  15. Shahed

    Shahed Registered User

    تاریخ عضویت:
    ‏30 ژوئن 2003
    نوشته ها:
    7,175
    تشکر شده:
    21
    محل سکونت:
    mt.cgi
    خیلی ستمه این روش !!
    یه راهی نیست مثل فانکشن date_default_timezone_set() که موقعیت زمانی رو بهش میدی ... بعش اختلاف ساعت رو بدی .. بعد خودش رو همه time و date ها اعمال کنه؟
     
  16. peiman

    peiman Registered User

    تاریخ عضویت:
    ‏23 فوریه 2003
    نوشته ها:
    1,544
    تشکر شده:
    20
    تو که گفتی میخوای بخوابی؟!
     
  17. ads

    ads Registered User

    تاریخ عضویت:
    ‏23 جولای 2004
    نوشته ها:
    633
    تشکر شده:
    6
  18. Shahed

    Shahed Registered User

    تاریخ عضویت:
    ‏30 ژوئن 2003
    نوشته ها:
    7,175
    تشکر شده:
    21
    محل سکونت:
    mt.cgi
    آره. این دقیقا با همون روشی که تو پست 5 گفتم عمل میکنه. یکم رنگ و لعابش قشنگتره فقط !! خروجی time() رو هم نمیشه داد بهش در ضمن.