1067

Web サイトのフッターに著作権表示を入れたいのですが、その年が古くなっているのは非常に厄介だと思います。

PHP 4またはPHP 5で年を自動的に更新するにはどうすればよいですか?

4

32 に答える 32

1332

dateまたはstrftimeのいずれかを使用できます。この場合、何があっても年は年であるため、問題ではないと思います (年を異なる形式でフォーマットするロケールがない限り?)

例えば:

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

余談ですが、PHP で日付をフォーマットする場合、デフォルトとは異なるロケールで日付をフォーマットする場合が重要になります。その場合は、setlocale と strftime を使用する必要があります。日付のphpマニュアルによると:

他の言語で日付をフォーマットするには、date() の代わりに setlocale() および strftime() 関数を使用する必要があります。

この観点から、アプリケーションをローカライズしなければならない可能性が少しでもある場合は、可能な限り strftime を使用するのが最善だと思います。それが問題でなければ、あなたが一番好きなものを選んでください。

于 2008-09-15T15:45:50.990 に答える
526
<?php echo date("Y"); ?>
于 2008-09-15T15:35:48.110 に答える
214

自動的に更新されたままの著作権表示の私の超怠惰なバージョン:

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

今年(2008年)は、次のようになります。

©2008Me、Inc.

来年、それは言うでしょう:

©2008-2009Me、Inc.

そして永遠に今年の最新情報を入手してください。


または(PHP 5.3.0+)無名関数を使用してそれを行うコンパクトな方法で、変数が漏れたり、コード/定数を繰り返さないようにします。

&copy; 
<?php call_user_func(function($y){$c=date('Y');echo $y.(($y!=$c)?'-'.$c:'');}, 2008); ?> 
Me, Inc.
于 2008-09-15T22:51:11.357 に答える
78

PHPがよりオブジェクト指向の方向に向かっているので、ここで誰も組み込みDateTimeクラスを参照していないことに驚いています。

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

または、インスタンス化時にクラスメンバーがアクセスできるワンライナー(php> = 5.4):

$year = (new DateTime)->format("Y");
于 2013-01-02T18:03:06.773 に答える
31

http://us2.php.net/date

echo date('Y');
于 2008-09-15T15:36:36.767 に答える
30
strftime("%Y");

私はstrftimeが大好きです。これは、日付/時刻のチャンクを取得/再結合するための優れた機能です。

さらに、日付関数が行わないロケール設定を尊重します。

于 2008-09-15T15:35:53.213 に答える
16

これはあなたに現地時間を与えます:

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

そして、この 1 つのUTC :

$year = gmdate('Y'); // 2008
于 2008-09-15T15:44:58.557 に答える
14

これが私がすることです:

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

以下は、それが何をするかについての簡単な説明です。

d = day
m = month
Y = year

Y は 4 桁 (例: 1990)、y は 2 桁 (例: 90) を返します。

于 2014-01-17T15:52:12.267 に答える
12

4 桁表記の場合:

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

2 桁表記:

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

詳細については、php ドキュメントを確認してください: https://secure.php.net/manual/en/function.date.php

于 2014-10-16T08:02:56.580 に答える
9
print date('Y');

詳細については、date() 関数のドキュメントを確認してください: https://secure.php.net/manual/en/function.date.php

于 2008-09-15T15:37:52.677 に答える
8
<?php echo date("Y"); ?>

このコードは

于 2017-02-15T23:22:33.350 に答える
7

書くだけ:

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

そして、この値を「エコー」します...

于 2016-10-26T07:02:16.650 に答える
6

サーバーがショートタグをサポートしている場合、またはPHP 5.4を使用している場合は、次を使用できます。

<?=date("Y")?>
于 2012-08-30T16:32:12.173 に答える
6

ところで...サイトの著作権を表示する適切な方法がいくつかあります。一部の人々は物事を冗長にする傾向があります。つまり、著作権 © は両方とも同じ意味を持ちます。重要な著作権部分は次のとおりです。

**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
于 2016-11-28T02:07:02.823 に答える
6

PHP 5.4+まで

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

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

または、1行で使用できます

$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')
?>
于 2016-12-25T00:57:20.037 に答える
3

このセクションに最適なショートコード:

<?= date("Y"); ?>
于 2019-03-15T16:48:53.310 に答える
0

私の場合、wordpress Web サイトのフッターにある著作権表示を更新する必要がありました。

簡単に考えましたが、予想以上のステップが必要でした。

  1. footer.phpテーマのフォルダーで開きます。

  2. 著作権テキストを見つけます。これはすべてハードコードされていると予想されていましたが、見つかりました:

    <div id="copyright">
        <?php the_field('copyright_disclaimer', 'options'); ?>
    </div>
    
  3. これで、WordPress 管理画面のどこかに年が書かれていることがわかったので、それを見つけて、年に書かれたテキストを削除します。WP-Admin でOptions、左側のメイン管理メニューに移動します。

    ここに画像の説明を入力次に、次のページでタブに移動しますDisclaimers

    ここに画像の説明を入力上部近くに著作権年があります:

    ここに画像の説明を入力© 記号 + 年 + 年に続く空白を削除し、ページUpdateの右上にあるボタンでページを保存します。

  4. テキスト バージョンの year now delete を使用すると、PHP で自動的に更新される年を追加できます。にあるSTEP 2のコードのチャンクに戻り、次のようにfooter.php更新します。

    <div id="copyright">
        &copy;<?php echo date("Y"); ?> <?php the_field('copyright_disclaimer', 'options'); ?>
    </div>
    
  5. 終わり!変更が期待どおりに有効になっていることを確認するためにテストするだけです。

これは多くの場合とは異なる場合がありますが、かなりの数のクライアント サイトでこのパターンに遭遇したため、ここに記録するのが最善であると考えました。

于 2020-11-20T21:11:33.523 に答える