پی ایچ پی میں ٹائم کی فارمیٹنگ کریں

PHP میں تاریخ اور وقت ایک ساتھ ہینڈل کیے جاتے ہیں۔ یعنی ()date_create فنکشن کو صرف تاریخ، صرف وقت، یا پھر دونوں مہیا کیے جا سکتے ہیں۔ لیکن نئے پروگرامرز کی آسانی کے لیے تاریخ اور وقت دونوں کے لیے الگ الگ ٹٹوریلز لکھے گئے ہیں۔ یہ ٹٹوریل صرف وقت کی فارمیٹنگ کے بارے میں ہے۔ آئیں پہلے وقت کے متعلق چند ضروری باتیں جان لیتے ہیں:


وقت کے اجزاء

وقت میں تین اجزاء ہوتے ہیں:

  • گھنٹہ (Hour)
  • منٹ (Minute)
  • سیکنڈ (Second)


وقت کے اجزاء کو تقسیم کرنے والے نشانات

وقت کے اجزاء کو تقسیم کرنے کے لیے مختلف ملکوں میں درج ذیل نشانات استعمال ہوتے ہیں:

:   (Colon)
.   (Dot or Full Stop)
,   (Comma)
     (Space)


وقت لکھنے کا طریقہ

وقت دو طریقوں سے لکھا جاتا ہے:

  • ایک طریقہ 12 گھنٹے کا ہے جس میں رات کے وسط سے لے کر دوپہر تک بارہ گھنٹے، اور پھر دوپہر سے لے کر رات کے وسط تک بارہ گھنٹے استعمال کیے جاتے ہیں۔ دنیا بھر میں عام طور پر یہی طریقہ استعمال ہوتا ہے۔ مثال کے طور پر صبح ساڑھے سات بجے کا وقت یوں لکھا جائے گا 07:30 am جبکہ شام ساڑھے سات بجے کا وقت اس طرح لکھا جائے گا 07:30 pm
  • دوسرا طریقہ 24 گھنٹے کا ہے جس میں رات کے وسط سے لے کر اگلی رات کے وسط تک چوبیس گھنٹے استعمال کیے جاتے ہیں۔ مثال کے طور پر صبح ساڑھے سات بجے کا وقت یوں لکھا جائے گا 07:30 جبکہ شام ساڑھے سات بجے کا وقت اس طرح لکھا جائے گا 19:30


PHP میں وقت کیسے فارمیٹ کریں؟

PHP میں دو طرح کا وقت فارمیٹ کیا جا سکتا ہے:

  1. موجودہ وقت، یعنی جب یہ کوڈ چلے گا اس وقت کمپیوٹر (Server) پر جو وقت ہوگا۔
  2. وہ وقت جو آپ خود سے مہیا کریں، یعنی ماضی یا مستقبل کا وقت۔

موجودہ وقت

موجودہ وقت فارمیٹ کرنے کے لیے ()date کا فنکشن استعمال کیا جاتا ہے۔ درج ذیل مثال میں ()date فنکشن کو ایک فارمیٹ دیا گیا ہے جس کےمطابق یہ وقت 02:55:00 pm کی صورت میں نظر آئے گا۔ اس فارمیٹ میں بائیں طرف سے:       h گھنٹے کے لیے،       i منٹ کے لیے،       s سیکنڈ کے لیے،       اور ایک اسپیس کے فاصلے پر a ہے جو am یا pm کے لیے ہے۔

<?php
    
print date("h:i:s a");
?>


ماضی یا مستقبل کا وقت

لیکن اگر آپ اپنی مرضی کا وقت فارمیٹ کرنا چاہتے ہیں تو اس کے لیے ()date_create فنکشن کی مدد سے وقت تیار کیا جائے گا اور اسے ()date_format فنکشن کی مدد سے فارمیٹ کیا جائے گا۔ درج ذیل مثال میں آپ دیکھ رہے ہیں کہ وقت کی فارمیٹنگ کے لیے بھی ()date_create اور ()date_format کے فنکشنز ہی استعمال ہو رہے ہیں۔ یہ اس لیے ہے کہ PHP میں تاریخ اور وقت ایک ساتھ ہینڈل کیے جاتے ہیں۔

  • کوڈ کی پہلی لائن پر ()date_create فنکشن کو ایک و قت مہیا کیا گیا ہے۔
  • دوسری لائن پر ()date_format فنکشن کو دو پیرامیٹرز مہیا کیے گئے ہیں۔ پہلا پیرامیٹر وقت کا ویری ایبل ہے جو اس سے پہلی لائن پر ہم نے بنایا ہے۔ جبکہ دوسرا پیرامیٹر وہ فارمیٹ ہے جس کے مطابق ہم وقت دکھانا چاہ رہے ہیں۔ یہ وقت بارہ گھنٹے کے فارمیٹ میں دکھایا گیا ہے۔
  • تیسری لائن پر سطر مکمل کرنے کے لیے ایک HTML ٹیگ استعمال کیا گیا ہے۔
  • چوتھی لائن پر وقت کو چوبیس گھنٹے کے فارمیٹ میں دکھایا گیا ہے-

اس کوڈ کا نتیجہ اس طرح آئے گا:

02:55:20 pm
14:55:20 pm

<?php
    $time_var 
date_create("14:55:20");
    print 
date_format($time_var"h:i:s a");
    print 
"<br>";
    print 
date_format($time_var"H:i:s a");
?>


اگر آپ کا مقصد مطلوبہ وقت کو ڈیٹابیس (MySQL وغیرہ) میں محفوظ کرنا ہے تو دو باتوں کا خیال رکھیں:

  • پہلی یہ کہ وقت چوبیس گھنٹے کے فارمیٹ میں مہیا کریں، مثلاً‌ رات کے آٹھ بج کر ۵۰ منٹ کا وقت اس طرح فراہم کریں 20:50:00
  • دوسری بات یہ کہ وقت کی تینوں چیزیں یعنی گھنٹہ، منٹ اور سیکنڈ فراہم کریں اگرچہ سیکنڈ کی ویلیو صفر ہی کیوں نہ ہو۔


فارمیٹنگ کے حروف

درج ذیل ٹیبل میں وقت کی فارمیٹنگ کے مزید حروف دیے جا رہے ہیں:

فارمیٹنگ کا حرف وضاحت مثال
وقت
a چھوٹے حروف میں Ante meridiem اور Post meridiem am یا pm
A بڑے حروف میں Ante meridiem اور Post meridiem AM یا PM
B Swatch Internet Time یا Beat Time 000 سے 999
g گھنٹہ (بارہ گھنٹے کا فارمیٹ بغیر شروع کے صفر کے) 1 سے 12
G گھنٹہ (چوبیس گھنٹے کا فارمیٹ بغیر شروع کے صفر کے) 0 سے 23
h گھنٹہ (بارہ گھنٹے کا فارمیٹ واحد ہندسے کے شروع میں صفر کے ساتھ) 01 سے 12
H گھنٹہ (چوبیس گھنٹے کا فارمیٹ واحد ہندسے کے شروع میں صفر کے ساتھ) 00 سے 23
i منٹ (واحد ہندسے کے شروع میں صفر) 00 سے 59
s سیکنڈ (واحد ہندسے کے شروع میں صفر) 00 سے 59
u مائیکرو سیکنڈ (PHP 5.2.2 سے) مثال: 654321
وقت کا علاقہ (Timezone)
e ٹائم زون کی نشاندہی کرنے والے حروف (PHP 5.1.0 سے) مثلاً‌ UTC, GMT, Asia/Karachi وغیرہ
I (آئی) یہ دیکھنے کے لیے کہ کیا یہ Daylight Saving Time ٹائم ہے؟ اگر ڈے لائٹ سیونگ ٹائم ہے تو 1 ورنہ 0
O گرین وچ ٹائم (GMT) سے فرق مثلاً‌ 0200+
P گرین وچ ٹائم (GMT) سے فرق (گھنٹوں اور منٹوں کے درمیان کولن۔ PHP 5.1.3 سے) مثلاً‌ 02:00+
T ٹائم زون کا مخفف EST, MDT وغیرہ
Z ٹائم زون آفسیٹ (UTC سے مغرب میں آفسیٹ ہمیشہ منفی ہوتا ہے جبکہ UTC سے مشرق میں آفسیٹ ہمیشہ مثبت ہوتا ہے) 43200- سے 50400

 

Categories: