it-swarm-vi.tech

Tôi sử dụng như thế nào PHP để có được năm hiện tại?

Tôi muốn đặt một thông báo bản quyền ở chân trang của một trang web, nhưng tôi nghĩ rằng nó cực kỳ khó xử trong năm nay đã lỗi thời. Làm cách nào để tôi tự động cập nhật năm với PHP 4PHP 5 ?

826
JD Graffam

Bạn có thể sử dụng ngày hoặc strftime . Trong trường hợp này, tôi muốn nói rằng không quan trọng vì một năm là một năm, không có vấn đề gì (trừ khi có một địa điểm định dạng năm khác nhau?)

Ví dụ:

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

Mặt khác, khi định dạng ngày trong PHP nó quan trọng khi bạn muốn định dạng ngày của mình ở một địa điểm khác với địa điểm mặc định. Nếu vậy, bạn phải sử dụng setlocale và strftime Theo hướng dẫn php vào ngày:

Để định dạng ngày trong các ngôn ngữ khác, bạn nên sử dụng các hàm setlocale () và strftime () thay vì date ().

Từ quan điểm này, tôi nghĩ tốt nhất nên sử dụng strftime càng nhiều càng tốt, nếu bạn thậm chí có khả năng từ xa phải bản địa hóa ứng dụng của mình. Nếu đó không phải là vấn đề, hãy chọn thứ bạn thích nhất.

970
Erik van Brakel
<?php echo date("Y"); ?>
506
Daniel Papasian

Phiên bản siêu lười biếng của tôi hiển thị một dòng bản quyền, tự động được cập nhật:

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

Năm nay (2008), nó sẽ nói:

© 2008 Tôi, Inc.

Năm tới, nó sẽ nói:

© 2008-2009 Tôi, Inc.

và mãi mãi được cập nhật với năm hiện tại.


Hoặc (PHP 5.3.0+) một cách nhỏ gọn để thực hiện bằng cách sử dụng hàm ẩn danh để bạn không bị biến ra và không lặp lại mã/hằng:

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

Với tiêu đề PHP theo hướng hướng đối tượng hơn, tôi ngạc nhiên không có ai ở đây đã tham chiếu tích hợp DateTime class:

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

hoặc một lớp lót với quyền truy cập thành viên lớp trên khởi tạo (php> = 5.4):

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

http://us2.php.net/date

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

Tôi yêu strftime . Đây là một chức năng tuyệt vời để lấy/kết hợp các khối ngày/lần.

Thêm vào đó, nó tôn trọng các cài đặt ngôn ngữ mà chức năng ngày không thực hiện.

27
Mark Biek

Điều này cung cấp cho bạn thời gian địa phương:

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

Và cái nàyUTC:

$year = gmdate('Y'); // 2008
14
Alexey Lebedev

Đối với đại diện 4 chữ số:

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

Đại diện 2 chữ số:

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

Kiểm tra tài liệu php để biết thêm thông tin: https://secure.php.net/manual/en/feft.date.php

12
joan16v

Đây là những gì tôi làm:

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

dưới đây là một chút giải thích về những gì nó làm:

d = day
m = month
Y = year

Y sẽ cung cấp cho bạn bốn chữ số (ví dụ: 1990) và y cho hai chữ số (ví dụ: 90)

11
Abdul Rahman A Samad

echo date('Y') cung cấp cho bạn năm hiện tại và điều này sẽ tự động cập nhật kể từ khi date() cung cấp cho chúng tôi ngày hiện tại.

10
kkarayat
print date('Y');

Để biết thêm thông tin, hãy kiểm tra tài liệu hàm ngày (): https://secure.php.net/manual/en/feft.date.php

9
darwin

Nếu máy chủ của bạn hỗ trợ Thẻ ngắn hoặc bạn sử dụng PHP 5.4, bạn có thể sử dụng:

<?=date("Y")?>
7
PanicGrip

sử dụng hàm PHP được gọi là date().

Nó mất ngày hiện tại và sau đó bạn cung cấp một định dạng cho nó

và định dạng sẽ là Y. Capital Y sẽ là một năm có bốn chữ số.

<?php echo date("Y"); ?>
7
Wael Assaf
<?php echo date("Y"); ?>

Mã này nên làm

7
Abdelkader Soudani

Chỉ viết:

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

Hoặc là:

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

Và 'echo' giá trị này ...

7
saadk

Bạn có thể sử dụng lớp ngày PHP đơn giản. Nó cung cấp nhiều phương thức và chức năng hữu ích:

$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();
...

Bạn có thể kiểm tra trang hướng dẫn thư viện để biết thêm ví dụ

5
isa

Cho tới php 5.4+

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

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

Hoặc bạn có thể sử dụng nó với một dòng

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

Nếu bạn muốn tăng hoặc giảm năm phương pháp khác; thêm dòng sửa đổi như dưới đâ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')
?>
5
Ivan Barayev

BTW ... có một vài cách thích hợp để hiển thị bản quyền trang web. Một số người có xu hướng làm cho mọi thứ trở nên dư thừa: Bản quyền © có cả hai nghĩa giống nhau. Các phần bản quyền quan trọng là:

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

Sử dụng PHP + HTML:

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

hoặc là

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

Cách của tôi để hiển thị bản quyền, Điều đó tiếp tục cập nhật tự động

<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>    

Nó sẽ cho kết quả như

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

sử dụng hàm PHP date().

và định dạng sẽ là Y. Capital Y sẽ là một năm có bốn chữ số.

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

Nhận toàn bộ năm sử dụng:

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

Hoặc chỉ nhận được hai chữ số của năm được sử dụng như thế này:

 <?php 
    echo $curr_year = date('y'); // it will display short 2 digit year ex. 17
?>
2
Ganesh Udmale
<?php date_default_timezone_set("Asia/Kolkata");?><?=date("Y");?>

Bạn có thể sử dụng điều này trong các phần chân trang để có được năm bản quyền động

2
imtaher

shortcode tốt nhất cho phần này:

<?= date("Y"); ?>
1
Omid Ahmadyani

Nếu bạn đang sử dụng tiện ích tuyệt vời Carbon PHP API cho DateTime , bạn có thể đạt được điều đó một cách dễ dàng:

<?php echo Carbon::now()->year; ?>

Chúc mừng.

0
andcl