Ngày và giờ unix PHP. Tập lệnh PHP đầu tiên: Hiển thị ngày và giờ

Hãy xem một số mã từ một trang web thực và tạo tập lệnh PHP đầu tiên, cụ thể là chúng tôi sẽ hiển thị ngày và giờ hiện tại trên trang web của mình. Tập lệnh này được sử dụng khá thường xuyên trên các trang web và tôi nghĩ nó sẽ hữu ích với nhiều người.

Hãy tạo một tệp php khác và gọi tệp này là time.php. Chúng ta đã nghiên cứu trước đó, nếu bạn quên, hãy lặp lại.

Vì vậy, chúng tôi đã tạo tệp time.php và đặt tệp này vào thư mục myphp đã tạo trước đó tại . Chúng ta đã nghiên cứu chủ đề này trong bài học

Mở mã của tệp time.php và giữa các thẻ Và viết đoạn mã sau: Liệt kê 1:

Liệt kê 1.

Hôm nay:

Thời điểm hiện tại

Hãy khởi động Máy chủ cục bộ, quay số thanh địa chỉđịa chỉ trình duyệt http://localhost/myphp/time.php và nhấn Enter. Và chúng ta thấy bức ảnh này:

Tôi thu hút sự chú ý của bạn đến thực tế rằng trong trường hợp này thời gian hiện tại của máy chủ được hiển thị, những thứ kia. ví dụ: nếu máy chủ nơi trang web của bạn “sống” được đặt ở một quốc gia khác và thời gian hiện tại khác với Moscow, thì giá trị thời gian được hiển thị cũng sẽ khác với Moscow.

Hãy nhìn vào mã Danh sách 1. Thường xuyên nhãn văn bản "Hôm nay" Và " Thời điểm hiện tại" không được bộ xử lý trước PHP xử lý và xuất ra dưới dạng "is". Thay vì những mục nhập này, bạn có thể viết bất kỳ văn bản nào, ví dụ chỉ cần ngày hoặc Thời gian vân vân.

Và đây là mã php kèm theo trong phần mô tảTrước khi được đưa vào trình duyệt, nó được xử lý bởi PHP.

Như bạn có thể đã hiểu, hàm ngày trong PHP chịu trách nhiệm xuất ngày và giờ. TRONG dấu ngoặc đơn Giá trị hiển thị ngày và giờ được chỉ định. Có rất nhiều giá trị như vậy trong PHP và chúng tôi sẽ dành bài học riêng tiếp theo cho việc phân tích và nghiên cứu tất cả các giá trị có thể có.

Toán tử echo được dịch là rút, trong trường hợp này chúng tôi muốn nói đến việc hiển thị trên màn hình điều khiển NgàyGiờ máy chủ.

Có thể đạt được kết quả tương tự (hiển thị trong trình duyệt) bằng cách đặt toàn bộ tập lệnh bên trong bộ mô tả PHP. Nhìn Liệt kê 2:

Liệt kê 2.

echo "Hôm nay:" ;
ngày tiếng vang (" j F Y ");
echo "Thời điểm hiện tại" ;
ngày echo("H:i:s");
?>

Tất cả các thành phần văn bản dành cho đầu ra phải được đặt trong dấu ngoặc kép. Chuỗi văn bản có thể được bao bọc trong cả đơn và dấu ngoặc kép, chúng ta sẽ nói về sự khác biệt sau. Bài viết:

vang "Hôm nay" ;

vang "Hôm nay" ;

hoàn toàn tương đương và sẽ xuất hiện giống nhau.

Ký tự khoảng trắng trước dấu ngoặc kép đóng được sử dụng để phân tách đầu ra của hàm ngày khỏi văn bản xung quanh. Tất cả các lệnh trong PHP luôn được phân tách bằng dấu chấm phẩy.

Để hiển thị Ngày và Giờ trên trang web, hãy chèn mã Liệt kê 1 hoặc Liệt kê 2đến đúng nơi trên trang web của bạn. Để thêm dòng chữ (Ngày và Giờ) phong cách chung thiết kế trang web, bạn có thể sử dụng.

tái bút Tôi nhắc nhở bạn rằng tập tin mà bạn đặt Chèn PHP phải có phần mở rộng .php và ngoài ra, máy chủ lưu trữ mà trang web của bạn “sống” phải hỗ trợ PHP (ngày nay điều này gần như là tất cả

Trong số các tác vụ lập trình khác nhau, các thao tác khác nhau với giá trị ngày và giờ là khá phổ biến. Hiếm hệ thống tự động, cơ sở dữ liệu có thể thực hiện mà không cần lưu trữ thông tin về thời gian của một quy trình cụ thể. Ngoài việc chỉ cần thêm ngày vào bản ghi cơ sở dữ liệu hoặc hiển thị ngày này, còn có nhiều tác vụ để hiển thị những ngày này trong dưới nhiều hình thức khác nhau, kiểm tra xem thời gian hiện tại có khớp không đặt hẹn giờ, tính toán khoảng thời gian giữa hai ngày và nhiều hơn thế nữa.

Để thuận tiện cho việc làm việc với ngày tháng, mỗi ngôn ngữ lập trình đều có ngôn ngữ riêng. loại đặc biệt dữ liệu để lưu trữ giá trị ngày và giờ. Thông thường nhất điều này giá trị số, số nguyên hoặc dấu phẩy động.

TRONG công việc PHP với một ngày, nó thường gặp UNIX TIMESTAMP. Ở đây thời gian được lưu trữ dưới dạng số nguyên. Việc tính toán thời gian bắt đầu từ ngày 1 tháng 1 năm 1970. Do đó, ví dụ: ngày và giờ 11/12/2014 19:40:00 sẽ được biểu thị bằng số 1418316000. Con số này cho biết bao nhiêu giây đã trôi qua kể từ ngày 0 của ngày 1 tháng 1 năm 1970, được gọi là Kỷ nguyên Unix.

Một ví dụ về trang PHP cung cấp khả năng chuyển đổi dữ liệu được trình bày trên trang web trong phần chương trình với chương trình "Chuyển đổi định dạng ngày và giờ". Tại đây bạn có thể tạo ngày mong muốn trong định dạng UNIX TIMESTAMP, cũng như đưa định dạng này về dạng chuẩn mà con người có thể đọc được.

Lấy ngày giờ hiện tại bằng PHP

Để lấy thời gian hiện tại của máy chủ, hãy sử dụng chức năng

thời gian int(void)

sẽ trả về giá trị ở định dạng dấu thời gian unix.

tiếng vang thời gian(); // xuất thời gian hiện tại ở định dạng dấu thời gian unix

Thoạt nhìn không hay lắm định dạng thuận tiệnđối với một người, nhưng, như đã biết, hơn trình bày đơn giản hơn dữ liệu, máy tính xử lý các giá trị này càng nhanh. Ngoài ra, việc lưu trữ một số trong cơ sở dữ liệu còn tiết kiệm chi phí hơn nhiều so với bất kỳ phương pháp nào khác. định dạng đặc biệt. Ngoài ra, PHP hoạt động giống nhau theo thời gian trên cả Unix và Nền tảng Windows, điều này giúp bạn có thể sử dụng mã trên bất kỳ nền tảng nào trong số này.

Chuyển đổi định dạng ngày và giờ trong PHP

Cơ chế đơn giản nhất để chuyển đổi giá trị ngày tháng thành giá trị dễ hiểu hơn được cung cấp bởi hàm:

mảng getdate()

Cô ấy trở về mảng kết hợp, chứa thông tin ngày tháng. Nếu tham số dấu thời gian không được chỉ định thì thời gian hiện tại sẽ được trả về. Mảng này chứa các giá trị sau:

Mảng kết quả cho phép bạn hiển thị các giá trị ở dạng mong muốn:

ngày $ = 1418372345;
$date_mas = getdate($date);
echo $date_mas["mday" ] . " . " . $date_mas["tháng" ] . " . " . $date_mas["năm" ]; // 12.12.2014


Bạn cũng có thể sử dụng hàm để chuyển đổi định dạng ngày và giờ:

chuỗi ngày (chuỗi $template [, int $unix_timestamp])

Nó được thiết kế để lấy ngày dấu thời gian unix hiện tại trong ở định dạng được yêu cầu. Tham số chuỗi $template chỉ định định dạng đầu ra. Tham số $unix_timestamp có thể được sử dụng để chỉ định giá trị thời gian nào sẽ hoạt động. Nó là tùy chọn, vì vậy nếu không được chỉ định thì nó sẽ được sử dụng Ngày hiện tại và thời gian.

Định dạng được chỉ định bởi các giá trị sau:

Một"trước" và "sau" buổi trưa: "sáng" hoặc "chiều"
MỘT"trước" và "sau" buổi trưa bằng chữ in hoa: "Sáng" hoặc "Chiều"
dngày trong tháng gồm 2 chữ số (nếu nhỏ hơn 10 thì số 0 đứng đầu) (01 đến 31)
Dngày trong tuần bằng 3 chữ cái. Ví dụ: "Thứ Hai" (Thứ Hai)
jngày trong tháng, 1-2 chữ số không có số 0 đứng đầu (từ 1 đến 31)
Ftên của tháng. Ví dụ: "Tháng Giêng"
hgiờ, định dạng 12 giờ (01 đến 12)
Hđịnh dạng giờ, 24 giờ (00 đến 23)
ggiờ, định dạng 12 giờ không có số 0 (1 đến 12)
Gđịnh dạng giờ, 24 giờ không có số 0 (0 đến 23)
Tôiphút (00 đến 59)
Tôi (viết hoa i)1 nếu chuyển sang thời gian mùa hè, nếu không thì 0
L1 nếu năm đó là năm nhuận hoặc 0 nếu năm đó không phải là năm nhuận
Bthời gian ở định dạng thời gian Internet ( hệ thống thay thếđếm ngược thời gian trong ngày) (từ 000 đến 999)
Tmúi giờ máy tính. Ví dụ: MDT
l (chữ thường L)ngày trong tuần. Ví dụ: "Thứ Hai"
tôitháng, hai chữ số có số 0 (01 đến 12)
Ntháng, một hoặc hai chữ số không có số 0 (từ 1 đến 12)
Mtên viết tắt của tháng. Ví dụ: "tháng một"
tsố ngày trong tháng được chỉ định (từ 28 đến 31)
Sgiây (0 đến 59)
SHậu tố số thứ tự gồm hai chữ cái tiếng Anh ("st", "nd", "rd" hoặc "th")
bạnsố nguyên giây kể từ khi bắt đầu kỷ nguyên UNIX
ynăm, kỹ thuật số, 2 chữ số (14)
Ynăm, kỹ thuật số, 4 chữ số (2014)
zsố thứ tự của ngày trong năm (từ 0 đến 365)
ZĐộ lệch múi giờ tính bằng giây (-43200 đến 43200)
Nsố thứ tự của ngày trong tuần từ 1 (Thứ Hai) đến 7 (Chủ Nhật) theo tiêu chuẩn ISO-8601, (được thêm vào PHP 5.1.0)
wsố thứ tự của ngày trong tuần từ 0 (Chủ Nhật) đến 6 (Thứ Bảy)
Wsố thứ tự của tuần trong năm theo tiêu chuẩn ISO-8601; tuần bắt đầu vào thứ Hai (được thêm vào PHP 4.1.0)
số năm theo tiêu chuẩn ISO-8601. Có ý nghĩa tương tự như Y, ngoại trừ khi số tuần ISO (W) là của năm trước hoặc năm sau; thì năm của tuần đó sẽ được sử dụng. (được thêm vào PHP 5.1.0)
emã tỷ lệ múi giờ. Ví dụ: UTC, GMT, Atlantic/Azores (được thêm vào PHP 5.1.0)
sự khác biệt với thời gian Greenwich, tính bằng giờ. Ví dụ: +0200
Psự khác biệt so với Giờ chuẩn Greenwich với dấu hai chấm giữa giờ và phút. Ví dụ: +02:00 (được thêm vào PHP 5.1.3)
cngày ở định dạng chuẩn ISO 8601. Ví dụ: 2014-12-12T15:19:21+00:00 (được thêm vào PHP 5)
rngày ở định dạng » RFC 2822. Ví dụ: Thứ năm, ngày 21 tháng 12 năm 2000 16:01:07 +0200
bạnsố giây đã trôi qua kể từ khi bắt đầu Kỷ nguyên Unix (Kỷ nguyên Unix, ngày 1 tháng 1 năm 1970 00:00:00 GMT)

Như bạn có thể thấy trong danh sách, bạn có thể nhận được rất nhiều dữ liệu ngày tháng hữu ích bằng cách sử dụng chức năng này. Ví dụ:

ngày $ = 1418372345; // ngày và giờ ban đầu 12/12/2014 11:19:05

echo date("d.m.Y", $date); // 12.12.2014 (ngày)
echo date("H:i:s", $date); // 11:19:05 (thời gian)
echo date("H:i", $date); // 11:19 (giờ)
ngày echo("t", $date); // 31 (số ngày trong tháng)
ngày echo("z", $date); // 345 (số thứ tự ngày trong năm)
echo date("l dS \of F Y h:i:s A" , $date); // Thứ sáu ngày 12 tháng 12 năm 2014 11:19:05 sáng

Các ký tự khác có trong mẫu sẽ được in như trên dòng. Nếu bạn cần nhập một ký tự được sử dụng trong hàm làm mã định dạng, ký tự “\” sẽ được chèn vào phía trước chúng. Đối với giá trị "\n" (ký tự chuyển tiếp dòng mới), bạn nên chỉ định "\\n". Do đó, bạn có thể xuất toàn bộ tin nhắn chứa thông tin ngày và giờ:

ngày vang vọng( "Hôm nay là ngày thứ z của năm thứ y", ngày $); // Hôm nay là ngày thứ 345 của năm 2014

Chuyển đổi ngày và giờ sang định dạng dấu thời gian

Để đảo ngược chuyển đổi ngày từ định dạng chuẩn Hàm được áp dụng cho giá trị dấu thời gian dạng số:

int mktime(]]]]]])

Hàm mktime() trả về giá trị thời gian Unix tương ứng với ngày và giờ được chỉ định bởi các đối số của nó. Ví dụ:

$my_date = mktime(10, 30, 0, 12, 12, 2014);

Bạn nên cẩn thận về thứ tự của các đối số của hàm: giờ, phút, giây, tháng, ngày, năm.

Ngoại trừ sự hình thành đơn giản giá trị ngày trong dấu thời gian, hàm mktime() có thể được sử dụng để thực hiện phép tính số học với ngày tháng. Để làm điều này, bạn chỉ cần nhập các đối số cần thiết. Ví dụ: nếu bạn chỉ định tháng thứ 14 thì trong giá trị cuối cùng, tháng sẽ là tháng thứ 2 và giá trị năm sẽ tăng thêm một:

$ngày_của_tôi = 12;
$my_month = 12;
$my_year = 2014;

$new_date = mktime(0, 0, 0, $my_month + 5, $my_day, $my_year);

echo date("d.m.Y", $new_date); // 12/05/2015 (ngày)

Bạn có thể làm tương tự với các thông số khác.

Kiểm tra tính hợp lệ của ngày trong PHP

Khi làm việc với ngày tháng, đặc biệt là khi tạo ngày bằng hàm mktime() được đề xuất ở trên, cần phải tính đến tính chính xác của ngày đã nhập. Để làm điều này, PHP sử dụng hàm:

ngày kiểm tra bool(int tháng, int ngày, int năm)

Trả về true nếu ngày được đối số chỉ định là chính xác; nếu không nó sẽ trả về sai. Ngày được coi là chính xác nếu:

Năm trong khoảng từ 1 đến 32767;

Tháng dao động từ 1 đến 12;

Ngày của một tháng nhất định, có tính đến năm nhuận, được chỉ định chính xác.

Ví dụ kiểm tra ngày:

$ngày_của_tôi = 32;
$my_month = 12;
$my_year = 2014;

if (!checkdate($my_month, $my_day, $my_year))
tiếng vọng "Lỗi: ngày không chính xác";

Làm việc với ngày và giờ trong PHP tương đối dễ dàng. Tính sẵn có khá số lượng lớn các hàm làm cho mã bớt cồng kềnh hơn (và trong PHP 5.2 với sự ra đời của DateTime và trong 5.3 với việc bổ sung các lớp DateInterval và DatePeriod cũng như các phương thức riêng lẻ, việc làm việc với ngày tháng thậm chí còn trở nên đơn giản và thuận tiện hơn). Vì vậy, để làm việc với ngày tháng... Trước tiên, trong mọi trường hợp, bạn nên nhớ rằng:

  • hầu hết mọi hành động đều có thể được thực hiện theo nhiều cách;
  • tất cả mã được viết để trình diễn và làm ví dụ;
  • Kết quả thay thế được đề xuất có thể không phải lúc nào cũng phù hợp khi sử dụng nhiều hơn phiên bản đầu PHP (đôi khi dễ dàng hơn việc chỉnh sửa mã làm việc từ nhiều năm trước);

Trong PHP 5.3 cho hoạt động chính xácđể tránh lỗi Tiêu chuẩn nghiêm ngặt. Ngày nay, theo quy định, tình huống này được tính đến trong tập lệnh hoặc trong cài đặt lưu trữ.

PHP chuyển đổi dấu thời gian UNIX thành ngày ở định dạng nhất định

Một trong những điều nhất nhiệm vụ đơn giản. Hàm được sử dụng là: date($format, $time)
Tham số đầu tiên chuyển định dạng ngày - để biết thêm chi tiết, hãy xem tài liệu (đối với “thông thường” 28.02.2012 15:43:59 nên được sử dụng:
date("d.m.Y H:i:s", $time)

PHP cách tìm ra ngày mai/ngày hôm qua

Mọi thứ ở đây cũng đơn giản. Hàm time() lấy thời gian hiện tại ở định dạng Dấu thời gian UNIX. Trừ (ngày hôm qua) hoặc cộng (ngày mai) số lượng yêu cầu giây (86400 = 3600*24 - tính bằng ngày) và chúng tôi nhận được:
$bây giờ = thời gian(); // không yêu cầu
$ hôm qua = thời gian()-3600*24;
$ngày mai = thời gian()+3600*24;
$weekBefore = time() - 3600*24*7; // một tuần trước
echo "Hôm qua: ",date("d.m.Y", $hôm qua),"
Ngày mai:",date("d.m.Y",$tomorrow);

PHP cách lấy ngày với mức chênh lệch cụ thể (X ngày sớm hơn/muộn hơn)

Đôi khi bạn cần tìm ra một ngày sẽ cách ngày được chỉ định vài ngày. Ví dụ: người dùng đã thanh toán dịch vụ vào ngày 11 tháng 2 năm 2013 trong 3 tuần. Thông tin thanh toán có sẵn. Nó được trả cho đến ngày nào?

Khi bạn có thể “chỉ” thêm một vài ngày và nhận được ngày 13 tháng 2, thủ tục này không gây ra bất kỳ khó khăn cụ thể nào. Nhưng còn số tiền khác nhau ngày trong một tháng? Còn năm nhuận thì sao? Mọi thứ đều đã được phát minh ra trước chúng ta - để tính ngày từ một khoảng thời gian đã biết, chúng ta sẽ sử dụng mktime

$thanh toán = mảng("ngày"=>11,"tháng"=>2,"năm"=>2013);
$toDate = mktime(0,0,0,$thanh toán["tháng"],$thanh toán["ngày"]+3*7,$thanh toán["năm"]);
echo date("d.m.Y",$toDate); // Phần kết luận
// trong PHP > 5.3 sử dụng DateInterval
date_default_timezone_set("Châu Âu/Moscow");
$datetime = DateTime mới(date());
$datetime->sub(DateInterval mới("P7D")); // trừ 7 ngày

PHP cách tính chênh lệch giữa các ngày

Trông có vẻ tình huống đơn giản- có hai ngày, đếm số ngày (tháng và ngày) giữa chúng. Tuy nhiên, việc triển khai “thủ công” sẽ mất một chút thời gian và có thể thiếu thứ gì đó (cho vui - những ai muốn thử có thể để lại mã trong phần bình luận). PHP có sẵn hàm date_diff để tính chênh lệch giữa các ngày hoặc chính xác hơn là Datetime::diff
$datetime1 = DateTime mới("2013-05-01");
$datetime2 = DateTime mới("2013-01-01");
$interval = $datetime1->diff($datetime2);
echo $interval->format("%R%a ngày sau Tết");

PHP chuyển đổi ngày DDD thành X năm Y tháng Z năm

Đôi khi bạn cần hiển thị thời gian sau một sự kiện nào đó. Ví dụ, sau khi đăng ký nó đã trôi qua. Để thuận tiện (3200 ngày không có ý nghĩa nhiều), nhận thức có thể được chuyển đổi thành năm và tháng bằng cách sử dụng định dạng DateInterval::format
$registerDate = DateTime mới("2009-03-03");
$hôm nay = DateTime mới();
$interval = $hôm nay->diff($registerDate);
echo "Đã hết thời gian kể từ khi đăng ký: ";
echo $interval->format("%a day")."\n"; // tổng số ngày
tiếng vang "hoặc";
echo $interval->format("%m tháng, %d ngày"); // tháng, ngày

Bản dịch PHP từ ngày sang dấu thời gian - phân tích ngày ở định dạng tiếng Nga

Đôi khi bạn cần chuyển đổi một ngày ở định dạng dễ đọc sang định dạng UNIX TIMESTAMP. Để phân tích một ngày ở định dạng '2013-05-30 12:35' thành các thành phần của nó (lấy riêng năm, tháng, ngày ), bạn có thể sử dụng hàm date_parse. Để chuyển đổi trực tiếp sang dấu thời gian unix, bạn có thể sử dụng strtotime (cũng như các biến thể như 'bây giờ', '+1 ngày', 'Thứ Năm tuần sau' - php.net/manual/en/datetime.formats.php):
echo strtotime("2013-05-30");
print_r (date_parse("2013-05-30 12:35"));

Tuy nhiên, đối với Nga, định dạng quen thuộc hơn là DD.MM.YYYY. Tất nhiên, bạn có thể chia ngày cho ký tự dấu chấm, lấy ngày, tháng, năm và sử dụng hàm mktime để tìm ra giá trị UNIX TIMESTAMP tương ứng. PHP5.3 đã giới thiệu hàm date_parse_from_format, trong đó bạn có thể truyền một chuỗi định dạng vào. Và đối với PHP5.2, tôi đã sử dụng strptime (hóa ra là sự tồn tại của nó, không phải ai cũng biết đến, có lẽ vì đơn giản là nó không được triển khai cho Windows: Chức năng này không được triển khai trên nền tảng Windows):

$date = "30/05/2013 12:35";
$format = "d.m.Y H:i";
print_r (date_parse_from_format($format,$date));
// Lựa chọn thay thế cho PHP5.2
$format = "%d.%m.%Y %H:%M"; // khác với cái được sử dụng trong hàm date
$d = strptime($date, $format);
$newDate = mktime($d["tm_hour"], $d["tm_min"], $d["tm_sec"],
$d["tm_mon"]+1, $d["tm_mday"], $d["tm_year"]+1900); // tm_mon 0-11, tm_year 1900
echo $newDate;

Ngoài ra, hàm strptime còn có các tính năng đặc biệt - tháng được dịch chuyển một (tháng 1 - 0) và năm là số năm kể từ năm 1900, tức là. cho năm 2013 $d[’tm_year’] sẽ bằng 113.

Liên kết và thông tin hữu ích:
Các hàm dateTime của PHP http://www.php.net/manual/en/ref.datetime.php - các hàm làm việc với ngày
Lớp PHP DateTime http://www.php.net/manual/en/class.datetime.php
PHP date_diff http://www.php.net/manual/en/function.date-diff.php
PHP strftime http://ru2.php.net/manual/en/function.strftime.php
PHP date_parse_from_format http://ru2.php.net/manual/en/function.date-parse-from-format.php

Rõ ràng là các lập trình viên thường xuyên phải làm việc với ngày và giờ. Ví dụ đơn giản nhất là ngày và giờ tin nhắn được gửi trên diễn đàn. Và tất nhiên, những điều đó có thể được thực hiện trên PHP, đặc biệt là vì có nhiều cơ hội cho làm việc với ngày và giờ trong PHP rất nhiều.

Chức năng cơ bản liên quan đến ngày và giờ trong PHP, - Cái này hàm thời gian(), trả về số giây đã trôi qua kể từ nửa đêm ngày 01/01/1970(sự ra đời của thời đại Unix):

tiếng vang thời gian();
?>

Bằng cách chạy tập lệnh này, bạn sẽ biết được bao nhiêu giây đã trôi qua kể từ nửa đêm ngày 01/01/1970 cho đến thời điểm gọi điện hàm thời gian() trong kịch bản của bạn.

Tất nhiên, ngoài điều này chức năng cơ bản, hiện diện trong tất cả các ngôn ngữ lập trình mà bạn có thể làm việc với ngày và giờ(ít nhất là trong số những cái tôi biết) có một chức năng khác tên là hẹn gặp():

$datetime = getdate();
foreach ($datetime là $k=>$v)
echo "$k - $v
";
?>

Khi chạy tập lệnh này, bạn sẽ thấy một tập hợp các khóa trong mảng và các giá trị tương ứng của chúng (đồng thời, chúng tôi đã lặp lại việc xây dựng cho mỗi). Tôi nghĩ rằng bây giờ bạn sẽ không khó để tìm ra bất kỳ dữ liệu nào liên quan đến ngày và giờ. Ví dụ: để hiển thị thời gian hiện tại, bạn sẽ viết đoạn mã sau:

$datetime = getdate();
echo $datetime["hours"]...:"$datetime["phút"]..:":$datetime["seconds"];
?>

Cũng hàm getdate() có một tham số tùy chọn có nghĩa là số giây đã trôi qua kể từ nửa đêm ngày 01/01/1970. Nó được tạo ra để hàm này có thể trả về không chỉ thời điểm hiện tại và ngày tháng, và nói chung, bất kỳ:

$datetime = getdate(152353232);
echo $datetime["năm"];
?>

Kết quả là bạn sẽ thấy 1974 năm.

Ngoài ra còn có hàm ngày(). Tôi khuyên bạn nên xem mô tả của nó trong sách tham khảo, vì Chức năng này chấp nhận một tham số rất phức tạp chỉ định định dạng đầu ra ngày tháng. Có hơn 30 phần tử định dạng. Và trong ví dụ dưới đây tôi sẽ đưa ra một vài trong số đó và xem phần còn lại trong sách tham khảo, vì bạn không cần phải ghi nhớ chúng nhưng bạn nên tự làm quen với chúng. Nhưng cần phải biết nguyên tắc sử dụng của chúng và ví dụ sau về nó:

echo date("Hôm nay d.m.Y H:i:s");
?>

Kết quả là bạn sẽ thấy một cái gì đó như thế này: " Hôm nay 15/11/2010 21:44:24". Cũng hàm ngày() Ngoài ra còn có tham số tùy chọn thứ hai chỉ định dấu thời gian, chính xác là giá trị bằng số giây đã trôi qua kể từ nửa đêm ngày 01/01/1970. Ví dụ về việc sử dụng tham số thứ hai:

echo date("Ngày xửa ngày xưa có d.m.Y H:i:s", 5393235329);
?>

Ngoài ra còn có hàm gmdate(), đó là một sự tương tự hoàn toàn hàm ngày(), Nhưng hàm gmdate() hiển thị thời gian không theo múi giờ của máy chủ nơi tập lệnh đang chạy mà theo Greenwich. Rõ ràng, khi sử dụng chức năng này, bạn cần lưu tất cả thông tin về ngày giờ mà người dùng nhìn thấy và khi xuất ra bạn cần điều chỉnh theo múi giờ của từng người dùng (tất nhiên là lý tưởng nhất):

echo gmdate("Bây giờ ở Greenwich D M j H:i:s T Y")
?>

Kết quả là bạn sẽ thấy một cái gì đó như thế này: " Thứ Hai ngày 15 tháng 11 18:52:45 GMT 2010"Tất nhiên, bạn sẽ thấy một ngày khác, nhưng ở định dạng tương tự. Tôi cũng đặc biệt khuyên bạn nên xem sách tham khảo và làm quen với các thành phần ngày và giờ khác trong PHP(Tôi chỉ đưa ra một phần ba), vì Hàm date() và gmdate()- đây là cách đơn giản nhất và nhất đường tắt lấy ngày và giờở hầu hết mọi định dạng.