PDA

View Full Version : تبدیل تاریخ شمسی به timestamp



sunboymn
شنبه 18 خرداد 1398, 12:54 عصر
سلام. من نیاز دارم که تاریخ شمسی رو به timestamp تبدیل کنم. از این کد استفاد کردم ولی عددی منفی رو میده و برای مثلا تاریخ 31 تیر اشتباه درمیاد. 31تیر و 1 مرداد مقدارش مساویه
var selectedTime = Date.UTC(inst.currentYear, inst.currentMonth, inst.currentDay);
ممنون میشم یه راه حل بدین

plague
شنبه 18 خرداد 1398, 13:13 عصر
تاریخ رو تبدیلش کردی اول به میلادی یا مستقیما شمسی رو گزاشتی توش ؟

sunboymn
شنبه 18 خرداد 1398, 14:25 عصر
نه تاریخ رو از دیتپیکر بصورت شمسی گرفتم. بعد برای اینکه یه سری کارها روش انجام بدم باید تبدیل کنم به timestamp کل ایرادش فقط همین یه خط کده بقیه اش درست کار میکنه. مثلا من تاریخ 31/4/98 رو انتخاب میکنم همون مقداری رو میده که 1/5/98 رو انتخاب میکنم

plague
شنبه 18 خرداد 1398, 16:24 عصر
اگه میخای صحیح انجام بشه باید تاریخت رو تبدیل کنی به میلادی و بعد تایم استمپ کنی
تایم استمپ تعداد ثانیه هایی هستش که از سال 1970 میلادی تا به امروز گزشته
در واقع وقتی یک تاریخ مثلا X رو تایم استمپ میکنی عددی که بدست میاد تعداد ثانیه هاییه که از 1970 تا اون تاریخ X طی شده

طبیعتا وقتی تاریخ شمسی رو تایم استمپ کنی خیلی مشکل بوجود میاد و عدد ممکنه منفی باشه (چون تاریخ شمسی خیلی عقب تر از میلادی هستش ) یامشکلات دیگه

sunboymn
شنبه 18 خرداد 1398, 19:10 عصر
تبدیل کردم به میلادی ولی بازهم خطا داره چون مثلا ماه 4 میلادی 30 روزه و ماه 4 شمسی 31 روز، روز 31ام رو 1 مرداد حساب میکنه 1 مرداد رو هم 1 مرداد حساب میکنه!

plague
یک شنبه 19 خرداد 1398, 15:59 عصر
دقیقا چه عدد هایی برای ماه و سال و روز توی تابع میزاری ؟ console.log کن عدد هات رو ببین چیا هستن بزار اینجا