سلام.
دوستان بنده هر کاری میکنم moment js زمان رو درست نشون نمیده.
import moment from 'moment-timezone';
require('moment/locale/fa');
moment.tz.setDefault('Asia/Tehran');
اینترنت رو زیر رو کردم جوابی نبود. برای تایم زون های مختلف زمان رو تغییر میده اما روی تهران کاملا اشتباه و چند ساعت عقب تره :|
خوب مشخصه نگاه کنید الان سیستم نموته بفهمه این تایمی که شما اومدید ذخیره کردید مال چه موقعیت مکانی هست .
این زمان باید که شما تو دیتابیس دارید باید با حالت zone ذخیره سازی بشه اما اینطور نیست برای شما
2020-04-08T18:12:25+04:30
اون قسمت +04:30 میبینید این مشخص میکنه .
حالا مسئلهای اگر زمان رو به شکل تهران ذخیره کردید دیگه از moment-timezone استفاده نکنید . چون لزومی نداره.
منظورتون از اینکه زمان رو درست نشون نمیده چیه ؟ باید به چه شکلی نمایش بده ، چیزی که انتظار دارید نمایش بده رو بفرستید تا چک کنم
@hesammousavi
مشکل فرمت نیست.
مشکل اینه که مثلا اگر من در ساعت 23 داده ای رو در دیتابیس ذخیره کنم، moment js اون رو 19 نشون :( در واقع اون چیزی که moment نشون میده با اون چیزی که من در دیتابیس دارم کاملا متفاوته ( از نظر زمان مشکل داره فقط. تاریخ کاملا دسته)
@hesammousavi @ali.bayat
جالبه من برای تایم زون های مختلف امتحان کردم، کلا ساعت ها رو اشتباه بر می گردونه. برای مثال روی 'America/Los_Angeles' گذاشتم، وقتی که در 'America/Los_Angeles' ساعت 1:46 بود یک داده ثبت کردم و moment.js اون رو 21:16 نشون میده :|
شما زمان رو با momentjs اول تبدیل به تایم ایران میکنی و بعد ذخیره سازی میکنی و دوباره برگشت میدین ؟
حالا که برگشت دادید آیا دوباره با moment تبدیلش میکنید ؟
@hesammousavi
همین الان حساب کردم 4:30 اختلاف داره با ایران :| تایم زون رو گذاشتم توکیو ژاپن درست شد :/
به نظرتون مشکل از چیه ؟
بنظر باید ببینید که اون تایمی که ذخیره میکنید به چه تایم زونی ذخیره میشه احتمالا مشکل از اونجا باشه
@hesammousavi
توی دیتابیس کاملا درسته و به زمان تهران هستش. حتی توی tinker هم زمان درسته. :|
خود Date جاوا اسکریپت هم اشتباهه :|
وقتی رو تهران ست میکنم، هر کدوم از ساعت ها رو 4:30 ساعت قبلش رو نشون میده دقیقا اما وقتی روی توکیو ژاپن باشه درست نشون میده
خوب مشخصه نگاه کنید الان سیستم نموته بفهمه این تایمی که شما اومدید ذخیره کردید مال چه موقعیت مکانی هست .
این زمان باید که شما تو دیتابیس دارید باید با حالت zone ذخیره سازی بشه اما اینطور نیست برای شما
2020-04-08T18:12:25+04:30
اون قسمت +04:30 میبینید این مشخص میکنه .
حالا مسئلهای اگر زمان رو به شکل تهران ذخیره کردید دیگه از moment-timezone استفاده نکنید . چون لزومی نداره.
@hesammousavi
صحیح. واقعا مرسی :)
من اشتباهی توی مدل هام اومده بودم کست زیر رو قرار داده بودم :|
protected $casts = [
"created_at" => "datetime:Y-m-d H:i:s"
];
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟