# پایگاه‌های داده > سایر پایگاه‌های داده > MySQL >  فرق timestamp و datetime

## hooman.pro

سلام به طور اساسی فرق بین datetime و timestamp چیست؟ من میخوام تو برنامه ای که دارم مینویسم جا های زیادی مثل زمان ایجاد رکورد زمان آپدیت رکورد
تاریخ تولد و ... زمان رو ذخیره کنم. از کدوم مقدار برای فیلد هام استفاده کنم؟ توضیح بدین لطفا که چرا

----------


## miladamirzadeh

پیشنهاد می کنم این صفحه رو ببینید.
با توجه به مطلبی که در لینک بالا نوشته پیشنهاد می کنم در مواردی که گفتی(زمان ایجاد رکورد، زمان آپدیت، تاریخ تولد) زمان را با نوع DateTime ذخیره کنی.( حداقل دو دلیل 1. تبدیل اتوماتیک رو فیلد نخواهی داشت، 2. بازه ی بزرگتری در اختیار خواهی داشت)
به نظر می رسه که TIMESTAMP کاربردهای خاص داشته باشه، که به نظرم تا پیش نیومده از اونا استفاده نکن. در صورتی که مطلب دیگه ای در این مورد پیدا کردی بسیار ممنون می شم که اون رو با ما به اشتراک بذاری.

----------


## enaeimifar

سلام. با توجه به مطلب زیر: وقتی از timestamp استفاده میکنیم، MySQL منطقه زمانی تاریخی که سمت دیتابیس فرستادیم رو از منطقه زمانی ما به UTC یا ساعت هماهنگ جهانی تبدیل میکنه و سپس ذخیره میکنه. البته مشکلی پیش نمیاد چرا که موقع دریافت تاریخ از دیتابیس، خود MySQL این تبدیل رو به صورت برعکس انجام میده و نیتجه رو به ما برمیگردونه. پس به قول دوستمون بهتره تقریبا همه جا از DataTime استفاده کنیم مگه اینکه به خاطر استفاده های خاص، بخوایم از TimeStamp استفاده کنیم:


“MySQL converts TIMESTAMP values from the current time zone to UTC for storage, and back from UTC to the current time zone for retrieval. (This does not occur for other types such as DATETIME.)”.

----------

