PHP

Hàm xử lý ngày tháng …

1 – Hiển thị ngày tháng và thời gian hiện tại
Câu hỏi: làm sao hiển thị ngày tháng vào thời gian hiện tại trong PHP
Giải pháp: để giải quyết vấn đề này chúng ta sử dụng hàm getdate()

Ví dụ:

<?php
    $now = getdate();

    $currentTime = $now["hours"] . ":" . $now["minutes"] . ":" . $now["seconds"];
    $currentDate = $now["mday"] . "." . $now["mon"] . "." . $now["year"];

    echo "It is now $currentTime on $currentDate";

?>

2- Định dạng Timestamps
Câu hỏi: Làm sao chuyển Unix timestamps thành kiểu thời gian bình thường
Giải pháp: để giải quyết vấn đề này chúng ta dùng hàm date()

Ví dụ:

<?php

    // result: "30 Oct 2006" (example)
    echo '<br>' . date("d M Y", mktime()) . " \n";

    // result: "12:38:26 PM" (example)
    echo '<br>' . date("h:i:s A", mktime()) . " \n";

    // result: "Monday, 30 October 2006, 12:38:26 PM" (example)
    echo '<br>' . date ("l, d F Y, h:i:s A", mktime()) . " \n";

    // result: "12:38:26 PM UTC"
    echo '<br>' . date ("h:i:s A T", mktime()) . " \n";

    // result: "2006-10-30T12:38:26+00:00"
    echo '<br>' . date ("c", mktime());
?>

3- Chuyển một chuỗi sang Timestamps
Câu hỏi: làm thế nào để chuyển một chuỗi ngày tháng năm qua kiểu Timestamps
Giải pháp: để giải quyết vấn đề này chúng ta dùng hàm strtotime()

Ví dụ:

<?php
    // chuoi nguon
    $str = "20030607";

    // chuyen chuoi qua timestamp
    $ts = strtotime($str);

    // result: "Saturday, 07 June 2003 12:00:00 AM" (example)
    echo date("l, d F Y h:i:s A", $ts);
?>

4- Kiểm tra năm nhuần
Câu hỏi: làm sao kiểm tra xem năm có phải năm nhuần hay không
Giải pháp: Năm nhuần là năm chia hết cho 4 hoặc 400 nhưng không phải 100

Ví dụ:

<?php
    function testLeapYear($year) {
    $ret = (($year%400 == 0) || ($year%4 == 0 && $year%100 != 0)) ? true : false;
    return $ret;
    }

    echo '<br>' . testLeapYear(2004) ? "Is a leap year" : "Is not a leap year";

    echo '<br>' . testLeapYear(2001) ? "Is a leap year" : "Is not a leap year";
?>

5- Tìm số ngày trong tháng của một năm nào đó
Câu hỏi: làm sao tìm số ngày trong tháng 3 của năm 2005
Giải pháp: để giải quyết vấn đề này chúng ta dùng hàm date()

Ví dụ:

<?php
    $ts = mktime(0,0,0,3,1,2005);
    echo date("t", $ts);
?>

6 – Tìm số ngày và số tuần trong năm

Ví dụ:

<?php
// ngày:  01-Mar-2008
echo date("z", mktime(0,0,0,3,1,2008))+1;

// Tuần: 01-Mar-2008
echo date("W", mktime(0,0,0,3,1,2008));
?>

7- Tìm thứ của ngày
Câu hỏi: làm sao tìm thứ của một ngày nào đó

Ví dụ:

<?php
    // 04-Jun-2008
    $ts = mktime(0,0,0,6,4,2008);
    echo date("l", $ts);
?>

8- Chuyển thời gian Local ra thời gian GMT
Câu hỏi: làm sao chuyển đổi thời gian Local ra thời gian GMT (Greenwich Mean Time)
Giải pháp: để giải quyết vấn đề này chúng ta dùng hàm gmdate()

Ví dụ:

<?php
    echo gmdate("H:i:s d-M-y T") . "\n";
    $ts = mktime(4,30,0,2,2,2005);
    echo gmdate("H:i:s d-M-y T", $ts);
?>

9-Chuyển đổi phút sang giờ
Câu hỏi: làm sao chuyển đổi mm sang thành hh:mm

<?php
    $mm = 156;
    echo sprintf("%02dh %02dm", floor($mm/60), $mm%60);
?>

Nguồn : zend.vn

One thought on “Hàm xử lý ngày tháng …

  1. ban oi.minh moi hoc php dang su dung ham getdate() tim ngay gio hien tai nhung khong hieu sao no co bao loi.:
    Warning: getdate() [function.getdate]: It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Asia/Krasnoyarsk’ for ‘7.0/no DST’ instead in C:\xampp\htdocs\chuotit\blog\global.php on line 760

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s