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

پروگرامنگ لینگویج کے حوالے سے نئے پروگرامرز کو جو چیزیں الجھن میں ڈالتی ہیں ان میں سے ایک تاریخ کی فارمیٹنگ بھی ہے۔ تاریخ کی فارمیٹنگ کی ضرورت اس لیے پڑتی ہے کہ دنیا بھر کے ممالک میں تاریخ مختلف طریقوں سے لکھی جاتی ہے۔ ایک ملک میں تاریخ لکھنے کی ترتیب دوسرے ملک سے مختلف ہو سکتی ہے، مثلاً‌ کسی ملک میں مہینہ پہلے لکھا جاتا ہے اورکسی ملک میں دن پہلے لکھا جاتا ہے۔ اسی طرح حسب ضرورت تاریخ لکھنے کا انداز بھی مختلف ہو سکتا ہے، کبھی مہینے یا دن کا پورا نام لکھنے کی ضرورت پیش آتی ہے اور کبھی صرف ہندسوں کی شکل میں لکھنے سے کام چل جاتا ہے۔ آئیں پہلے تاریخ کے متعلق کچھ ضروری باتیں جان لیتے ہیں، اس کے بعد PHP کی مثالوں سے تاریخ کو فارمیٹ کرنے کا تصور واضح ہو جائے گا۔


تاریخ کے اجزاء

تاریخ میں تین چیزیں ہوتی ہیں:

  • دن (Day)
  • مہینہ (Month)
  • سال (Year)


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

تاریخ لکھتے ہوئے دن، مہینہ اور سال کو مختلف نشانات کے ذریعے تقسیم کیا جاتا ہے:

/   (Slash)
.   (Dot or Full Stop)
,   (Comma)
-   (Hyphen or Dash)
    (Space)


تاریخ لکھنے کی ترتیب

مختلف ملکوں میں تاریخ مختلف ترتیب سے لکھی جاتی ہے:

  • برطانیہ وغیرہ میں تاریخ ایسے لکھی جاتی ہے 25/09/2018 یعنی بائیں طرف سے پہلے دن لکھا جاتا ہے، پھر مہینہ اور پھر سال۔
  • چین وغیرہ میں 25-09-2018 یعنی بائیں طرف سے پہلے سال، پھر مہینہ اور پھر دن۔ کمپیوٹر ڈیٹابیسز بھی تاریخ اسی فارمیٹ میں محفوظ کرتی ہیں۔
  • امریکہ میں 09/25/2018 یعنی بائیں طرف سے پہلے مہینہ لکھا جاتا ہے، پھر دن اور پھر سال۔


تاریخ لکھنے کا انداز

حسب ضرورت تاریخ لکھنے کے انداز بھی مختلف ہوتے ہیں- تاریخ کبھی حروف میں لکھی جاتی ہے اور کبھی ہندسوں میں۔ جب حروف میں لکھی جائے تو کبھی دن اور مہینے کے مکمل نام لکھے جاتے ہیں اور کبھی ان ناموں کےمخفف۔ جب ہندسوں میں لکھی جائے تو کبھی صرف واحد ہندسہ لکھا جاتا ہے اور کبھی اس ہندسے کے شروع میں صفر بھی درج کیا جاتا ہے۔ مثلاً‌:

  • 2018 ,25 January
  • 2018 ,25 Jan
  • 1-25-18
  • 01-25-2018
  • وغیرہ


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

PHP میں ہم دو طرح کی تاریخ فارمیٹ کر سکتے ہیں۔ ایک آج کی تاریخ اور دوسری وہ تاریخ جو ہم خود سے مہیا کریں، یعنی ماضی یا مستقبل کی تاریخ۔

موجودہ تاریخ

آج کی تاریخ اپنی پسند کی فارمیٹنگ کے ساتھ دکھانے کے لیے ()date فنکشن استعمال کیا جاتا ہے۔ درج ذیل اس مثال میں ()date فنکشن کو ایک فارمیٹ دیا گیا ہے۔ اس فارمیٹ میں       d دن کے لیے،       M مہینے کے لیے،       اور Y سال کے لیے ہے۔ یہ تاریخ یوں نظر آئے گی:

8 Mar, 2015

<?php
    
print date("d M, Y");
?>


ماضی یا مستقبل کی تاریخ

لیکن اگر ہم اپنی طرف سے تاریخ مہیا کرنا چاہتے ہیں تو اس کے لیے ()date_create فنکشن کی مدد سے تاریخ تیار کی جاتی ہے اور پھر اسے ()date_format فنکشن استعمال کر کے فارمیٹ کیا جاتا ہے- درج ذیل مثال میں:

  1. پہلی لائن پر ()date_create فنکشن کو ایک تاریخ مہیا کی گئی ہے جسے ہم اپنی مرضی کے فارمیٹ میں دکھانا چاہ رہے ہیں۔ آپ دیکھ رہے ہیں کہ یہ فنکشن جس ترتیب سے تاریخ لیتا ہے اس میں بائیں طرف سے پہلے سال، پھر مہینہ اور پھر دن آتا ہے۔
  2. دوسری لائن پر ()date_format فنکشن کو دو پیرامیٹرز (Parameters) دیے گئے ہیں۔ پہلا پیرامیٹر اس تاریخ کا ویری ایبل ہے جو اس سے پہلی لائن میں بنائی گئی ہے، جبکہ دوسرا پیرامیٹر وہ فارمیٹ ہے جس میں ہم یہ تاریخ دکھانا چاہ رہے ہیں۔ یہ تاریخ امریکی ترتیب کے مطابق یوں نظر آئے گی:
    Mar 18, 2015
  3. تیسری لائن پر دونوں تاریخوں کو الگ الگ سطروں پر دکھانے کے لیے ایک HTML ٹیگ استعمال کیا گیا ہے۔
  4. چوتھی لائن پر یہی تاریخ مختلف ترتیب کے ساتھ دکھائی گئی ہے جو ہم نے پہلی لائن میں بنائی تھی۔ یہ تاریخ برطانوی ترتیب کے مطابق یوں نظر آئے گی:
    8 Mar, 2015

<?php
    $date 
date_create("2015-03-18");
    print 
date_format($date,"M d, Y");
    print 
"<br>";
    print 
date_format($date,"d M, Y");
?>


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

اگر آپ نئے پروگرامر ہیں تو ضرور یہ سوچ رہے ہوں گے کہ یہ d M, Y حروف کہاں سے آئے؟ یہ دراصل PHP کی طرف سے فارمیٹنگ کے حروف ہیں جن کی مدد سے ہم تاریخ کو مختلف طریقوں سے دکھا سکتے ہیں۔ ایسے مزید حروف کے لیے درج ذیل ٹیبل دیکھیں:

فارمیٹنگ کا حرف وضاحت مثال
دن
d دن (واحد ہندسے کے شروع میں صفر) 01 سے 31
D ہفتے کے کسی بھی دن کا نام مخفف کی شکل میں Sat سے Fri
j دن (واحد ہندسہ بغیر شروع کے صفر کے) 1 سے 31
l (ایل) دن کا مکمل نام Saturday سے Friday
N ISO-8601 معیار کے مطابق ہفتے کا کوئی بھی دن ہندسوں میں  (Monday کے لیے 1 اور Sunday کے لیے 7)
S ہندسوں کے ساتھ لگنے والے حروف، مثلاً‌ 1st, 2nd وغیرہ st, nd, rd, th یہ حروف j کے ساتھ مل کر کام کرتے ہیں۔
w ہفتے کا کوئی بھی دن ہندسوں میں (Sunday کے لیے 0 اور Saturday کے لیے 6)
z سال کا کوئی بھی دن ہندسوں میں 0 سے 365
ہفتہ
W ISO-8601 معیار کے مطابق سال میں ہفتے کا نمبر مثلاً‌ 42 (سال میں بیالیسواں ہفتہ)
مہینہ
F مہینے کا پورا نام January سے December
m مہینہ (واحد ہندسے کے شروع میں صفر) 01 سے 12
M مہینے کے نام کا مخفف Jan سے Dec
n مہینہ (واحد ہندسہ شروع کے صفر کے بغیر) 1 سے 12
t مہینے کے کل دنوں کی تعداد 28 سے 31
سال
L یہ دیکھنے کے لیے کہ کیا یہ Leap year ہے؟ اگریہ لیپ والا سال ہے تو 1 ورنہ 0
o ISO-8601 معیار کے مطابق سال کے چار ہندسے 1999 یا 2015 وغیرہ
Y سال کے چار ہندسے 1999 یا 2015 وغیرہ
y سال کے دو ہندسے 99 یا 15 وغیرہ

 

Categories: