Web サイトのフッターに著作権表示を入れたいのですが、その年が古くなっているのは非常に厄介だと思います。
32 に答える
dateまたはstrftimeのいずれかを使用できます。この場合、何があっても年は年であるため、問題ではないと思います (年を異なる形式でフォーマットするロケールがない限り?)
例えば:
<?php echo date("Y"); ?>
余談ですが、PHP で日付をフォーマットする場合、デフォルトとは異なるロケールで日付をフォーマットする場合が重要になります。その場合は、setlocale と strftime を使用する必要があります。日付のphpマニュアルによると:
他の言語で日付をフォーマットするには、date() の代わりに setlocale() および strftime() 関数を使用する必要があります。
この観点から、アプリケーションをローカライズしなければならない可能性が少しでもある場合は、可能な限り strftime を使用するのが最善だと思います。それが問題でなければ、あなたが一番好きなものを選んでください。
<?php echo date("Y"); ?>
自動的に更新されたままの著作権表示の私の超怠惰なバージョン:
© <?php
$copyYear = 2008;
$curYear = date('Y');
echo $copyYear . (($copyYear != $curYear) ? '-' . $curYear : '');
?> Me, Inc.
今年(2008年)は、次のようになります。
©2008Me、Inc.
来年、それは言うでしょう:
©2008-2009Me、Inc.
そして永遠に今年の最新情報を入手してください。
または(PHP 5.3.0+)無名関数を使用してそれを行うコンパクトな方法で、変数が漏れたり、コード/定数を繰り返さないようにします。
©
<?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");
echo date('Y');
これはあなたに現地時間を与えます:
$year = date('Y'); // 2008
そして、この 1 つのUTC :
$year = gmdate('Y'); // 2008
これが私がすることです:
<?php echo date("d-m-Y") ?>
以下は、それが何をするかについての簡単な説明です。
d = day
m = month
Y = year
Y は 4 桁 (例: 1990)、y は 2 桁 (例: 90) を返します。
4 桁表記の場合:
<?php echo date('Y'); ?>
2 桁表記:
<?php echo date('y'); ?>
詳細については、php ドキュメントを確認してください: https://secure.php.net/manual/en/function.date.php
print date('Y');
詳細については、date() 関数のドキュメントを確認してください: https://secure.php.net/manual/en/function.date.php
<?php echo 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 5.4を使用している場合は、次を使用できます。
<?=date("Y")?>
ところで...サイトの著作権を表示する適切な方法がいくつかあります。一部の人々は物事を冗長にする傾向があります。つまり、著作権 © は両方とも同じ意味を持ちます。重要な著作権部分は次のとおりです。
**Symbol, Year, Author/Owner and Rights statement.**
PHP + HTML の使用:
<p id='copyright'>© <?php echo date("Y"); ?> Company Name All Rights Reserved</p>
また
<p id='copyright'>© <?php echo "2010-".date("Y"); ?> Company Name All Rights Reserved</p
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')
?>
このセクションに最適なショートコード:
<?= date("Y"); ?>
私の場合、wordpress Web サイトのフッターにある著作権表示を更新する必要がありました。
簡単に考えましたが、予想以上のステップが必要でした。
footer.php
テーマのフォルダーで開きます。著作権テキストを見つけます。これはすべてハードコードされていると予想されていましたが、見つかりました:
<div id="copyright"> <?php the_field('copyright_disclaimer', 'options'); ?> </div>
これで、WordPress 管理画面のどこかに年が書かれていることがわかったので、それを見つけて、年に書かれたテキストを削除します。WP-Admin で
Options
、左側のメイン管理メニューに移動します。テキスト バージョンの year now delete を使用すると、PHP で自動的に更新される年を追加できます。にあるSTEP 2のコードのチャンクに戻り、次のように
footer.php
更新します。<div id="copyright"> ©<?php echo date("Y"); ?> <?php the_field('copyright_disclaimer', 'options'); ?> </div>
終わり!変更が期待どおりに有効になっていることを確認するためにテストするだけです。
これは多くの場合とは異なる場合がありますが、かなりの数のクライアント サイトでこのパターンに遭遇したため、ここに記録するのが最善であると考えました。