نقل قول: مشکل مقایسه تاریخ در php
سلام و درود بر شما.
تاریخ ها را به timestamp تبدیل کن و در دیتابیس قرار بده
تاریخ ها را به تاریخ میلادی برگردون و سپس به timestamp تبدیل کن و مقایسه کن و دوباره از timestamp به میلادی و از میلادی به خورشیدی برگردون.
نقل قول: مشکل مقایسه تاریخ در php
https://jdf.scr.ir/jdf/?t=php
با استفاده از لایبراری بالا تاریخ جلالی و میلادی را به هم تبدیل می کنی. برای تبدیل تاریخ جلالی به میلادی فرض کنید که تاریخ را به صورت یک رشته داری با استفاده از تابع explode روز و ماه و سال را از هم جدا کن بعد به عنوان وردی به تابع jalali_to_gregorian بفرست حالا تاریخ میلادی را بدست اوردی. حالا می تونی تاریخ میلادی را با استفاده از تابع strtototime به timestamp تبدیل کن حالا یه دونه عدد داری و می تونی مقایسه کنی دو تا تاریخ را با هم.
نقل قول: مشکل مقایسه تاریخ در php
نقل قول:
نوشته شده توسط
user.mohammad
سلام و درود
سه تاریخ در دیتابیس ثبت کردم به ترتیب: 15/12/1397 و 01/04/1398 و 10/04/1398 (ارقام انگلیسی)
و میخام اون سطر هایی که تاریخشون کوچکتر یا مساوی تاریخجاری(امروز)(ارقام انگلیسی) هستند و flag شون 0 هست رو برگردونه
که در خروجی 01/04/1398 رو برمیگردونه اما 15/12/1397 رو نه.
دوستان لطفا راهنمایی کنید.
سلام
همانطور که دوستان اشاره کردند بهتر است تاریخ را اگر مربوط به زمان درج اطلاعات و یا بروزرسانی آن می باشد را با فرمت timestamp و اگر ممکن است تاریخ هر مقدار کوچک یا بزرگی را بگیرد با فرمت datetime یا date ذخیره کنید.
گاهی نیاز هست که اطلاعات ماه و سال شمسی ذخیره شود تا راحت تر بتوان کوئری های GROUP BY روی تاریخ پیاده کرد. هر چند بهتر است در کنار آن تاریخ با فرمت timestamp نیز درج گردد.
دقت کنید که سال سمت چپ و ماه وسط و روز سمت راست قرار گیرد مثلا بصورت ۱۳۹۸۰۴۲۱ درج شود حتما سال ۴ رقمی و ماه و روز دو رقمی باشند. بدین ترتیب به راحتی می توانید از شروط کوچکتر و بزرگتر استفاده کنید.