به دست گرفتن زمان

bahy_my

Active Member
سلام
تو این آموزش قصد داریم کنترل زمان و تاریخ رو یه طورایی به دست بگیریم.

معرفی دو تابع :


PHP:
strtotime(string date); 
strftime(string pattern date);


تابع اول, یک متن مجاز (از نظر دید خودش, php) رو دریافت می کنه و یک عدد رو بر می گردونه.
تا بع دوم این عدد رو با سوئیچ هایی که داره نمایش میده.
ینی زمان جاری رو برای شما تبدیل می کنه به زمانی که توی تابع بهش می دیم.
کاربردی ترین مثال, استفاده ی توی دیتا بیس هستش.
فرضاً شما یه تاریخ دارید و می خواید اون رو به حالتی که دوست دارین نمایش بدین.
به صورت مثال تمامی سوئیچ های تاریخ 1 September 2007 رو نمایش بدین. برای این کار باید اون ها رو هم وارد دیتا بیس کنید اما با این تابع میشه بدون این کار اون سوئیچ ها رو به دست اورد.
باید بگم این تابع دقیقاً مثل اصلاح گر date_format توی اسمارتی هستش.

به طور مثال :


PHP:
<?php 


$query="SELECT * FROM users"; 
$record=mysql_query($query); 
$show=mysql_fetch_array($record); 
extract($show); 
$date_int=strtotime($date); 
$user_time=strftime("%A %H %d %S", $date_int); 
print $user_time; 



?>


سوالی بود در خدمتم.
اگه سوالتون اینه که : (اگه فلان شه...) نپرسین.. خودتون امتحان کنید ببینید چی میشه.
این طوری بهتر یاد میگیرین.

یه تابع دیگه هم بهتنو معرفی می کنم تا خیلی خوشحال شین :دی !!!


PHP:
setlocale(LC_TIME,"FR");

این تابع خیلی کارا می کنه که من نمی دونم.
با این تابع میشه موقعیت زمان رو تغییر بدین.
به عنوان پارامتر اول همون چیزی رو که اون بالا می بینید بدین و
دو حرف اول کشور رو به عنوان پارامتر دوم بدین.(به صورت رشته)
اون وقت از تابع زیر استفاده کنید و :

PHP:
$p=strftime("%A %H %d %S"); 
print '<br>'.$p;

پارامتر دوم تابع بالا دلخواه هستش.
وقتی داده نشه مقدار پیشفرض سیستم براش در نظر گرفته میشه.

سوالی بود در خدمتم.

منبع : مهرآرین - لینک تاپیک
 

peyman1987

Member
ممنون دوست عزیز ولی درباره تابع setlocale باید بگم برای ما ایرانیها از پارسال که دولت فوق العاده محبوب تصمیم به انجام یه شیرینکاری و تغییر ندادن ساعت در اول سال گرفت ، یک ساعت زودتر نشون میده یعنی وقتی باید بگه 11 میگه 10.
 

bahy_my

Active Member
پس با این ادله میشه گفت +1 کنیم بد نیست !!
راستی
بقیه ی سوئیچ هاشم اگه می دونین بگین.
برای همه ی بچها خوبه و البته به درد بخور !
**********
همون جا هم در خدمتتون بودیم. :-؟؟
*********
 

peyman1987

Member
بجای LC_TIME میتونین از مقادیر زیر و یا از LC_ALL برای بهره گیری از تمام موارد پایین استفاده کنین که باعث میشه نحوه علامتگذاری اعداد ، واحد پولی ، کاراکترهای مجاز ، تبدیلات واحدها و ... هم به همون به اصطلاح locale که میخواین تغییر پیدا کنه.

LC_ALL
LC_TIME
LC_COLLATE
LC_CTYPE
LC_MONETARY
LC_NUMERIC
LC_MESSAGES
 

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

بالا