PDA

View Full Version : بهترین روش ذخیره تاریخ در mysql و php



beh3000
یک شنبه 20 بهمن 1392, 16:35 عصر
سلام بر اساتید خودم

میخواستم در مورد نحوه ذخیره تاریخها بدونم که شما چیکار میکنید در mysql و php

برای نمایش تاریخ های شمسی ::

1 . یک فیلد datetime تعریف میکنید و از تابع date تو php استفاده میکنید و تاریخ میلادی رو ذخیره میکنید :: برای نمایش شمسی هم از jdf استفاده میکنید ؟ یا ...

2 . یک فیلد nvarchar بگیریم و Timestamp ذخیره کنیم ؟ برای نمایش شمسی هم اول باید timestamp رو به تاریخ معادلش تبدیل کنیم و سپس با jdf کار کنیم ؟؟

3 . و یا اینکه کلا بیایم nvarchar شمسی ذخیره کنیم :لبخند:


حساب کتاب روی تاریخ رو هم در نظر بگیرید مثلا میخوایم از روی تاریخ تولد کاربر بگیم که مثلا این کاربر 25 سالشه

ورود تاریخ رو هم در نظر بگیرید مثلا در فرم ممکنه 31 دی 1390 رو کاربر وارد کنه که میدونیم دی ماه 30 روزه آیا تو تبدیلش به میلادی و برعکس مشکل پیش میاد ؟؟؟

مهرداد سیف زاده
یک شنبه 20 بهمن 1392, 18:18 عصر
اول اینکه jdf برای نشان دادن تاریخ شمسی نیازی به تاریخ میلادی نداره و مستقیما با دریافت unix time به جلالی بر میگردونه
دوما بهترین روش بستگی به کار شما داره. اگر نیاز به سنجش تاریخ دارید مثلا مقایسه کنید کاربر آخرین با کی لاگین کرده و از اون زمان تا الان چقدر گذشته(یا مثالهای سنجش دیگر) که بهتره unix time رو در دیتابیس ذخیره کنید تا با اون تعداد روز گذشته رو مقایسه کنید(چون مقایسش راحت‌تره) ولی اگر صرفا برای نشان دادن تاریخ ثبت مثلا چه تاریخی مقاله در سایت ثبت شده و میخوایید به کاربر نشون بدید و اصلا نیاز به مقایسه ندارید که برای این کار نیاز نیست این همه تبدیل کنید و مستقیما در لحظه ثبت در دیتابیس با تابع jdf به جلالی تبدیلش کنید و تا همیشه ازش استفاده کنید. (البته تاریخ جلالی رو مثلا ۱۳۹۲/۱۲/۵ به کمک jdf به unix time تبدیل کرد)