ارسالها: 89
موضوعها: 42
تاریخ عضویت: اسفند 1394
اعتبار:
2
تشکرها: 47
5 بار تشکر شده در 3 پست
سلام
من از کتابخانه jdf استفاده می کنم، در جدول DB یک فیلد دارم به نام dtime که timestamp ها در آن ذخیره شده اند، کاربر در فرم یک تاریخ شمسی وارد می کند، مثلا :
۱۳۹۹/۰۵/۱۴
چطور می تونم این تاریخ را به timestamp تبدیل کنم که بتوانم بر اساس آن در ستون timestamp ها جستجو کنم؟
از مثال تابع jmktime استفاده کردم اما نتیجه نگرفتم.
پارامتر های تابع jmktime hour$ : پارامتر اوّل ، ساعت ( 24 ساعته ، 23 - 0) minute$ : پارامتر دوم ، دقیقه ( 59 - 0) second$ : پارامتر سوم ، ثانیه ( 59 - 0) month$ : پارامتر چهارم ، ماه ( 12 - 1) day$ : پارامتر پنجم ، روز ( 31 - 1) year$ : پارامتر ششم ، سال ( کامل 4 رقمی ) پارامتر هفتم ، در آن چیزی وارد نکنید. قبلاً $is_dst بود ، امّا در php5.1 منسوخ و در php7 حذف گردید. timezone$ : پارامتر هشتم ، منطقه ی زمانی مورد نظر جهت تنظیم یک منطقه ی زمانی برای اعمال اختلاف ساعت در خروجی است که مقدار پیشفرض آن به وقت تهران ، پایتخت جمهوری اسلامی ایران 'Asia/Tehran' می باشد
ارسالها: 89
موضوعها: 42
تاریخ عضویت: اسفند 1394
اعتبار:
2
تشکرها: 47
5 بار تشکر شده در 3 پست
تشکر ، اما در عمل به چه شکل باید تاریخ ورودی کاربر مثلا "۱۳۹۹/۰۵/۱۴" را مجزاسازی کرد و به این تابع داد، مقادیر ساعت ، دقیقه و ثانیه درخواستی رو اگر به تاریخ الآن بدم که در بازه جستجو مشکل پیدا میشه با timestamp ثبت شده مغایرت پیدا میکنه؟!
ارسالها: 26
موضوعها: 6
تاریخ عضویت: خرداد 1394
اعتبار:
1
تشکرها: 19
3 بار تشکر شده در 3 پست
(14-05-1399، 04:33 ب.ظ)پیام حیاتی نوشته: تشکر ، اما در عمل به چه شکل باید تاریخ ورودی کاربر مثلا "۱۳۹۹/۰۵/۱۴" را مجزاسازی کرد و به این تابع داد، مقادیر ساعت ، دقیقه و ثانیه درخواستی رو اگر به تاریخ الآن بدم که در بازه جستجو مشکل پیدا میشه با timestamp ثبت شده مغایرت پیدا میکنه؟!
ارسالها: 26
موضوعها: 6
تاریخ عضویت: خرداد 1394
اعتبار:
1
تشکرها: 19
3 بار تشکر شده در 3 پست
نقل قول:الان print_r می کنم خطا دارم باز :
Warning: mktime() expects at most 6 parameters, 7 given in
دو پارامتر آخر اختیاری هست اما با حذف آنها هم باز خطای فوق برقراره
خطا نشون میده شما تابع mktime خود php رو صدا زدین ببین تابع کتابخانه JDF اینه jmktime
کد زیر رو تو یه صفحه تست اجرا کن نتیجه درسته ضمنا خروجی تابع jmktime آرایه نیست میتونی با echo چاپ کنی
ارسالها: 89
موضوعها: 42
تاریخ عضویت: اسفند 1394
اعتبار:
2
تشکرها: 47
5 بار تشکر شده در 3 پست
(15-05-1399، 09:09 ق.ظ)artablog نوشته: خطا نشون میده شما تابع mktime خود php رو صدا زدین ببین تابع کتابخانه JDF اینه jmktime
کد زیر رو تو یه صفحه تست اجرا کن نتیجه درسته ضمنا خروجی تابع jmktime آرایه نیست میتونی با echo چاپ کنی
تشکر ، فایل jdf من قدیمی بود و حتی با دستور درست هم خطا داشتم فایل کتابخانه رو دوباره دریافت کردم از سایت که خروجی داد، "اما" در این تابع نیاز هست که ما زمان رو (ساعت ، دقیقه، ثانیه) وارد کنیم در غیر این صورت اگر فیلدها رو خالی بزارم عدد timestamp خروجی اشتباه می شود و در نهایت جستجو بدون نتیجه.
مثلا من الان دو رکورد دارم در تاریخ "1399/05/14"، اگر به تابع زمان های ثبت شده رو ندم، timestamp های این دو رکورد رو اشتباه سرچ میکنه.
چطور می تونم این مشکل رو حل کنم که تنها بر روی تاریخ متمرکز شه؟
کدهای بنده :
ارسالها: 89
موضوعها: 42
تاریخ عضویت: اسفند 1394
اعتبار:
2
تشکرها: 47
5 بار تشکر شده در 3 پست
ببینید خیلی سادست من زمان رو به صورت timestamp با کمک تابع time گرفتم و درج کردم چون طبق گفته اساتید نباید زمان رو شمسی گرفت و ...الان کاربر تاریخ رو شمسی وارد میکنه و من باید اول تبدیلش کنم که برای این کار تمام سایت هایی که سرچ کردم کتابخانه jdf و متد jmk رو معرفی کردن با یک مثال ساده که تمام مقادیر مورد نیاز تابع رو به صورت دستی وارد میکنن و اونطرف timestamp خروجی میگیرن، درست هم کار میکنه من اگر زمان درج رکورد رو که شامل ساعت ، دقیقه و ثانیه هست رو بهش بدم timestamp درست رو میده و جستجو نتیجه میده، اما هیچ مثال کاربردی برای اینکه تابع رو به شکلی که تنها متمرکز روی تاریخ کنم که زمان رو بیخیال شه پیدا نکردم.
گفتم اصلا این رو بیخیال میشم همون شمسی میگیرم، تابع geo رو معرفی کردن تست کردم دیدم تاریخ میلادی رو وقتی تبدیل میکنه به جای اینکه مثلا بشه :
1399/05/05
بدین شکل تبدیل میکنه:
1399/5/5
بدین شکل کوئری ها sql مثل between دیگه خروجی نمیدن چون شکل صحیح تاریخ برای ماه و روز باید دو رقمی باشه ، اینطوری من یک تاریخ رو هم نمیتونم سرچ کنم حالا فکر کنید بخوام یک بازه تاریخ رو سرچ بزنم که دیگه هیچ.
من از سایر زبان ها و کتابخانه های تهیه شده برای آنها اطلاعی ندارم اما آیا واقعا آنها هم به همین شکل درگیر یک سرچ میشن یا فقط در php کتابخانه مناسبی وجود نداره؟!