كيف يمكنني استخدام PHP للحصول على العام الحالي؟

StackOverflow https://stackoverflow.com/questions/64003

  •  09-06-2019
  •  | 
  •  

سؤال

أريد أن أضع إشعارًا بحقوق الطبع والنشر في تذييل موقع الويب، لكنني أعتقد أنه من المبتذل للغاية أن يصبح هذا العام قديمًا.كيف أقوم بتحديث السنة تلقائيًا باستخدام PHP 4 و PHP 5?

هل كانت مفيدة؟

المحلول

يمكنك استخدام أي منهما تاريخ أو com.strftime.في هذه الحالة أود أن أقول أنه لا يهم لأن السنة هي سنة، بغض النظر عن السبب (ما لم تكن هناك لغة تنسق السنة بشكل مختلف؟)

على سبيل المثال:

<?php echo date("Y"); ?>

في ملاحظة جانبية، عند تنسيق التواريخ في PHP، من المهم أن تريد تنسيق التاريخ بلغة مختلفة عن اللغة الافتراضية.إذا كان الأمر كذلك، عليك استخدام setlocale وstrftime.بحسب ال دليل PHP في تاريخ:

لتنسيق التواريخ بلغات أخرى ، يجب عليك استخدام وظائف setLocale () و strftime () بدلاً من التاريخ ().

من وجهة النظر هذه، أعتقد أنه سيكون من الأفضل استخدام strftime قدر الإمكان، حتى لو كان لديك احتمال بعيد بأن تضطر إلى ترجمة تطبيقك.إذا لم تكن هذه مشكلة، فاختر ما تفضله.

نصائح أخرى

<?php echo date("Y"); ?>

نسختي البطيئة جدًا لعرض سطر حقوق الطبع والنشر، والتي تظل محدثة تلقائيًا:

&copy; <?php 
$copyYear = 2008; 
$curYear = date('Y'); 
echo $copyYear . (($copyYear != $curYear) ? '-' . $curYear : '');
?> Me, Inc.

وفي هذا العام (2008) سيقول:

© 2008 مي، وشركة

في العام القادم سيقول:

© 2008-2009 مي، وشركة

والبقاء إلى الأبد على اطلاع دائم بالعام الحالي.


أو (PHP 5.3.0+) طريقة مدمجة للقيام بذلك باستخدام وظيفة مجهولة حتى لا تتسرب المتغيرات ولا تكرر التعليمات البرمجية/الثوابت:

&copy; 
<?php call_user_func(function($y){$c=date('Y');echo $y.(($y!=$c)?'-'.$c:'');}, 2008); ?> 
Me, Inc.

مع توجه PHP في اتجاه أكثر توجهاً للكائنات، فأنا مندهش من عدم قيام أحد هنا بالإشارة إلى العنصر المضمن DateTime فصل:

$now = new DateTime();
$year = $now->format("Y");

أو سطر واحد مع إمكانية وصول أعضاء الفصل عند إنشاء مثيل (php>=5.4):

$year = (new DateTime)->format("Y");

http://us2.php.net/date

echo date('Y');
strftime("%Y");

أنا أحب com.strftime.إنها وظيفة رائعة لالتقاط/إعادة تجميع أجزاء من التواريخ/الأوقات.

بالإضافة إلى أنه يحترم الإعدادات المحلية التي لا تقوم بها وظيفة التاريخ.

يمنحك هذا التوقيت المحلي:

$year = date('Y'); // 2008

و هذه التوقيت العالمي:

$year = gmdate('Y'); // 2008

للتمثيل المكون من 4 أرقام:

<?php echo date('Y'); ?>

تمثيل مكون من رقمين:

<?php echo date('y'); ?>

تحقق من وثائق PHP لمزيد من المعلومات:https://secure.php.net/manual/en/function.date.php

وإليك ما أفعله:

<?php echo date("d-m-Y") ?>

فيما يلي شرح بسيط لما يفعله:

d = day
m = month
Y = year

سوف يمنحك Y أربعة أرقام (على سبيل المثال1990) وy لرقمين (على سبيل المثال90)

echo date('Y') يمنحك العام الحالي، وسيتم تحديث هذا تلقائيًا منذ ذلك الحين date() تعطينا التاريخ الحالي.

print date('Y');

لمزيد من المعلومات، راجع وثائق دالة date(): https://secure.php.net/manual/en/function.date.php

إذا كان خادمك يدعم العلامات القصيرة، أو كنت تستخدم PHP 5.4، فيمكنك استخدام:

<?=date("Y")?>

اكتب فقط:

date("Y") // A full numeric representation of a year, 4 digits
          // Examples: 1999 or 2003

أو:

date("y"); // A two digit representation of a year     Examples: 99 or 03

و"صدى" هذه القيمة...

استخدم وظيفة PHP والتي تم استدعاؤها للتو date().

يستغرق التاريخ الحالي ثم تقوم بتوفير تنسيق له

وسيكون التنسيق Y.رأس المال Y سيكون سنة مكونة من أربعة أرقام.

<?php echo date("Y"); ?>
<?php echo date("Y"); ?>

يجب أن يفعل هذا الرمز

يمكنك استخدام فئة تاريخ PHP البسيطة.يوفر العديد من الطرق والوظائف المفيدة:

$date = new simpleDate();
echo $date->now()->getYear(); 
echo $date->now()->getMonth();
echo $date->set('2013-01-21')->getDayString();
echo $date->now()->compare('2013-01-21')->isBefore();
...

يمكنك التحقق صفحة دروس المكتبة لمزيد من الأمثلة

لما يصل إلى PHP 5.4+

<?php
    $current= new \DateTime();
    $future = new \DateTime('+ 1 years');

    echo $current->format('Y'); 
    //For 4 digit ('Y') for 2 digit ('y')
?>

أو يمكنك استخدامه مع سطر واحد

$year = (new DateTime)->format("Y");

إذا أردت زيادة السنة أو نقصانها بطريقة أخرى؛إضافة خط تعديل مثل أدناه.

<?PHP 
  $now   = new DateTime;
  $now->modify('-1 years'); //or +1 or +5 years 
  echo $now->format('Y');
  //and here again For 4 digit ('Y') for 2 digit ('y')
?>

بالمناسبة...هناك عدة طرق مناسبة لكيفية عرض حقوق الطبع والنشر للموقع.يميل بعض الأشخاص إلى جعل الأشياء زائدة عن الحاجة، مثل:حقوق الطبع والنشر © لها نفس المعنى.الأجزاء المهمة المتعلقة بحقوق الطبع والنشر هي:

**Symbol, Year, Author/Owner and Rights statement.** 

باستخدام PHP + HTML:

<p id='copyright'>&copy; <?php echo date("Y"); ?> Company Name All Rights Reserved</p>

أو

<p id='copyright'>&copy; <?php echo "2010-".date("Y"); ?> Company Name All Rights Reserved</p
<?php date_default_timezone_set("Asia/Kolkata");?><?=date("Y");?>

يمكنك استخدام هذا في أقسام التذييل للحصول على سنة حقوق النشر الديناميكية

احصل على سنة كاملة مستخدمة:

 <?php 
    echo $curr_year = date('Y'); // it will display full year ex. 2017
?>

أو احصل على رقمين فقط من السنة مستخدمين مثل هذا:

 <?php 
    echo $curr_year = date('y'); // it will display short 2 digit year ex. 17
?>

طريقتي لإظهار حقوق الطبع والنشر، والتي تستمر في التحديث تلقائيًا

<p class="text-muted credit">Copyright &copy;
    <?php
        $copyYear = 2017; // Set your website start date
        $curYear = date('Y'); // Keeps the second year updated
        echo $copyYear . (($copyYear != $curYear) ? '-' . $curYear : '');
    ?> 
</p>    

وسوف إخراج النتائج كما

copyright @ 2017   //if $copyYear is 2017 
copyright @ 2017-201x    //if $copyYear is not equal to Current Year.

استخدم PHP date() وظيفة.

وسيكون التنسيق Y.رأس المال Y سيكون سنة مكونة من أربعة أرقام.

<?php echo date("Y"); ?>

أفضل رمز قصير لهذا القسم:

<?= date("Y"); ?>
<?php
$time_now=mktime(date('h')+5,date('i')+30,date('s'));
$dateTime = date('d_m_Y   h:i:s A',$time_now);

echo $dateTime;
?>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top