مشکل با timestamp

amir59

Member
سلام

من در دیتا بیس فیلد تاریخ رو قبلا" از نوع Date قرار داده بودم و فرمت MM/DD/DAY میگرفت
و دو فیلد تاریخ دارم یکی startdate و یکی expire

حالا من نوع فیلد تاریخ رو عوض کردم به timestamp و کد startday را بصورت زیر گذاشتم و اطلاعات بصورت صحیح وارد دیتا بیس میشود :
$str = date('Y-m-d H:i:s');
بشکل : 2012-04-25 15:22:35

ولی وقتی تاریخ انقضاء رو می خوام timestamp محاسبه کنم اینطوری میشه :

$expire = date("Y-m-d Y-m-d H:i:s", mktime (0,0,0,date('m')+$credit,date('d'),date('Y')));

بشکل : 2012-07-25 00:00:00
ضمنا" در کد بالا credit فیلد افزایش اعتبار هست مثلا" وقتی 1 مزنیم به مدت یک ماه از تاریخ امروز قابل محاسبه میباشد و در مثال بالا من 3 وارد کردم تا 3 ماه را محاسبه بکند
لطفا" راهنمائی بفرمائید
 

sanecity

Member
سلام
آقا منم قبلا کارهای شما رو میکردم ولی به مرور زمان درگیر مسایل جدی شدم
بنظرم بهترین کار اینه که تاریخ رو به صورت عددی ذخیره کنید یعنی : int به کمک تابع time()
که یه عددی مثل این بهت میده : 1232996721 این یعنی تاریخ امروز که (فکر کنم تعداد ثانیه های سپری شده از سال 1970 باشه) باید توی دیتابیس ذخیره کنید
وقتی بخواهید چند ساعت بهش اضافه کنید کافیه ساعت رو به ثانیه برگردونید و به این عدد بالا اظافه کنید
مثلا برای 1 ساعت 3600 ثانیه میشه
و در انتها عددی که توی دیتابیس ذخیره شده رو میتونید با تابع gmdate به هر فرمتی دلتون میخاد نشون بدید
 

amir59

Member
خیلی جاها توصیه شده با timestamp کار کنیم ، حالا با timestamp نمیشه حل کرد ؟
 

Masoud1365

مدیر انجمن
شما اگر که با timestamp هم کار کنید بازم مقدار بازگشتی همون ثانیه های گذشته از ژانویه 1970 به بعد هست !
بهترین روش استفاده از تاریخ همین timestamp هست !
 

جدیدترین ارسال ها

بالا