Một website với lượng truy cập lớn thường xuyên phải cập nhật thông tin mới, username, password… một cách liên tục. Thường thấy trong các PHP framework, mỗi một database đều có những trường đánh dấu thời gian tạo hoặc thời gian cập nhật. Việc đó sẽ giúp quản lý tốt thông tin và website luôn thể hiện những thông tin mới nhất.
Các hàm thời gian
Timestamp thời điểm hiện tại của server
echo time(); //1411710106
Hàm này trả về một dãy số và ta có thể định đạng lại dãy số này thành chuỗi ngày tháng.
Kiểm tra chuỗi thời gian hợp lệ
checkdate($month, $day, $year)
if (checkdate(13,26,2014) == true) { echo "Hợp lệ"; } else { echo "Không hợp lệ"; // Không hợp lệ }
Thời gian trong trường hợp này không hợp lệ vì dữ liệu nhập vào tháng là số 13.
Thời gian hiện tại và định dạng
Thời gian hiện tại và thể hiện tuỳ vào định dạng ngày tháng nhập vào
date($string, $format)
echo date("d/m/Y H:i:s"); // 26/09/2014 08:17:43 echo date("w"); // 5 : số thứ tự của ngày trong tuần echo date("D"); // Fri : tên rút gọn của thứ trong tuần echo date("l"); // Friday : tên đầy đủ của thứ trong tuần echo date("M"); // Sep : Tên rút gọn của tháng echo date("F"); // September : Tên đầy đủ của tháng echo date("z"); // 268 : số thứ tự ngày trong năm
Thay đổi thời gian
Sử dụng cú pháp dạng chuỗi để thay đổi thời gian
strtotime()
// 26/09/2014 09:18:14 : thời gian hiện tại echo date("d/m/Y H:i:s"); // 27/09/2014 09:18:54 : tăng 1 ngày echo date("d/m/Y H:i:s", strtotime("+1 day")); // 03/10/2014 09:19:19 : tăng 1 tuần echo date("d/m/Y H:i:s", strtotime("+1 week")); // 03/10/2014 00:00:00 : đến thứ 6 tuần sau echo date("d/m/Y H:i:s", strtotime("next Friday")); // 24/09/2014 00:00:00 : thứ 4 vừa qua echo date("d/m/Y H:i:s", strtotime("last Wednesday"));
Múi giờ của khu vực
date_default_timezone_set()
date_default_timezone_set("Asia/Ho_Chi_Minh"); echo $now = date("d/m/Y H:i:s"); // 26/09/2014 14:27:08
Tổng hợp các định dạng ngày tháng năm
Day
ĐỊNH DẠNG | GIẢI THÍCH | VÍ DỤ |
d |
Ngày trong tháng, có kí tự 0 cho các ngày từ 1 → 9 | 01 đến 31 |
D |
Tên viết tắt của các thứ trong tuần | Mon, Tue, Web, Thu, Fri, Sat, Sun |
j |
Ngày trong tháng, không có kí tự 0 cho các ngày từ 1 → 9 | 1 đến 31 |
l |
Tên đầy đủ các thứ trong tuần | Monday đến Sunday |
w |
Số thứ tự của ngày trong tuần, bắt đầu đếm từ Sunday là ngày 0 | Từ 0 → 6 (Sun → Sat) |
z |
Số thứ tự của ngày trong năm | Từ 0 → 365 |
Week
ĐỊNH DẠNG | GIẢI THÍCH | VÍ DỤ |
W |
Tuần trong năm | 39 (tuần thứ 39 trong năm) |
Month
ĐỊNH DẠNG | GIẢI THÍCH | VÍ DỤ |
F |
Tên đầy đủ của tháng | January → December |
m |
Số thứ tự của tháng, có số 0 với các số từ 1 → 9 | 01 → 12 |
M |
Tên viết tắt của tháng | Jan → Dec |
sn |
Số thứ tự của tháng, không có số 0 với các số từ 1 → 9 | 1 → 12 |
t |
Số ngày trong 1 tháng | 28 → 31 |
Year
ĐỊNH DẠNG | GIẢI THÍCH | VÍ DỤ |
Y |
Năm có 4 ký số | 2014, 2015 |
y |
Năm có 2 ký số | 14, 15 |
Time
ĐỊNH DẠNG | GIẢI THÍCH | VÍ DỤ |
a |
Ký hiệu buổi sáng và chiều, chữ thường | am hoặc pm |
A |
Ký hiệu buổi sáng và chiều, chữ HOA | AM hoặc PM |
g |
Giờ theo kiểu 12 tiếng/ngày, không có số không với các số từ 1 → 9 | 1 → 12 |
G |
Giờ theo kiểu 24 tiếng/ngày, không có số không với các số từ 1 -> 9 | 0 → 23 |
h |
Giờ theo kiểu 12 tiếng/ngày, có số không với các số từ 1 → 9 | 01 → 12 |
H |
Giờ theo kiểu 24 tiếng/ngày, có số không với các số từ 1 → 9 | 01 → 23 |
i |
Phút | 00 → 59 |
s |
Giây | 00 → 59 |