PDA

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



mamali-mohammad
شنبه 23 مهر 1390, 22:33 عصر
سلام
خوبید دوستان ؟
من میخوام مستقیما تاریخ شمسی ( مثلا 05-06-1390 ) در دیتابیس که نوعش DATE هست ذخیره بشه
چطوری اینکارو کنم ؟
ممون

Keramatifar
یک شنبه 24 مهر 1390, 12:35 عصر
شما باید از timestamp استفاده کنید

mamali-mohammad
یک شنبه 24 مهر 1390, 13:42 عصر
راهنمایی بیشتری می کنید ؟
ممنون

mamali-mohammad
یک شنبه 24 مهر 1390, 22:44 عصر
الان 1390 رو که میزنم 0000 بر میگردونه

mamali-mohammad
دوشنبه 25 مهر 1390, 19:34 عصر
دوستان ؟
کمک لطفا

mamali-mohammad
سه شنبه 26 مهر 1390, 12:33 عصر
دوستان یه سوال ؟!!!!

Reza1607
سه شنبه 26 مهر 1390, 16:47 عصر
شما تاريختون رو تبديل به تاريخ ميلادي بكنيد و ذخيره كنيد هر وقت هم نياز داشتين اونو به شمسي تبديل كنيد

رضا قربانی
سه شنبه 26 مهر 1390, 18:02 عصر
شما با توابع جلالی خیلی راحت می تونید تاریختون رو به صورت شمسی وارد بانک کنید به این صورت : 13900828

و همون رو دوباره از بانک بخونید و بندازید داخل توابع جلالی : 28 آبان 1390 یا به کل فارسی

و برای راهنمایی هم :
http://barnamenevis.org/showthread.php?288698-%D9%87%D9%85%D9%87-%DA%86%DB%8C%D8%B2-%D8%AF%D8%B1-%D9%85%D9%88%D8%B1%D8%AF-%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-%D8%A8%D8%A7-%D8%AA%D9%88%D8%A7%D8%A8%D8%B9-%D8%AC%D9%84%D8%A7%D9%84%DB%8C-%28%D8%AC%D8%AF%DB%8C%D8%AF%29

موفق باشید

mamali-mohammad
سه شنبه 26 مهر 1390, 19:34 عصر
خب برای ذخیره چطوری تاریخ رو به 13900828 ثبت کنم ؟

رضا قربانی
سه شنبه 26 مهر 1390, 20:58 عصر
خب بهتون آدرس دادم تا مشاهده کنید
راهنمایی های لازم موجوده

mamali-mohammad
پنج شنبه 28 مهر 1390, 12:01 عصر
نوع جدول رو روی چی بزارم ؟
int باشه ؟

Reza1607
پنج شنبه 28 مهر 1390, 12:16 عصر
به نظر من شما فيلد تاريخ رو int انتخاب كنيد و موقع ذخيره تاريخ با استفاده از دستور $_SERVER['REQUEST_TIME'] يا time() زمان و تاريخ رو به صورت ثانيه دريافت كنيد و در بانك ذخيره كنيد و زماني كه احتياج داشتين كافي هست فيلد تاريخ رو با دستور

date('Y/m/d',$row['date'])
تبديل به تاريخ كنيد البته مي تونيد از jdate هم استفاده كنيد تا بهتون تاريخ شمسي بده

idocsidocs
پنج شنبه 28 مهر 1390, 12:23 عصر
به نظر من شما فيلد تاريخ رو int انتخاب كنيد و موقع ذخيره تاريخ با استفاده از دستور $_SERVER['REQUEST_TIME'] يا time() زمان و تاريخ رو به صورت ثانيه دريافت كنيد و در بانك ذخيره كنيد و زماني كه احتياج داشتين كافي هست فيلد تاريخ رو با دستور
من قبلا برای فیلد تاریخ از همین فرمت استفاده می کردم اما بعدا به مشکل برخوردم.

دوستان با تجربه تر گفتن که تاریخ با فرمت Y/m/d توی دیتابیس ذخیره بشه.

mamali-mohammad
پنج شنبه 28 مهر 1390, 12:24 عصر
مشکل من با آرشیو هست
من میخوام یه آرشیو درست کنم
هرکار می کنم نمیشه
تاریخ ها تداخل پیدا می کنه

rezakho
جمعه 29 مهر 1390, 01:12 صبح
سلام
پیشنهاد می کنم تاریخ را با استاندارد YYYY-MM-DD HH:MM:SS و یه صورت رشته 19 تایی یا نوع تاریخ ذخیره کنی
مثل زیر

date("Y-m-d H-i-s")

jdate("Y-m-d H-i-s")
با این فرمت مشکل جستجو و تداخل تاریخ ها هم برطرف میشه

و یک راه دیگه ذخیره تاریخ در بانک به صورت ثانیه است که با تابع time می تونی زمان را به ثانیه بگیری و در بانک بریزی بعدا با همان تابع بالایی به تاریخ تبدیل کنی مثل زیر


$time = time();
.
.
.

date("Y-m-d H-i-s",$time);