Latest News
Đẩy log exception của spring boot lên elasticsearch
  • About
  • EmEditor
  • Register Google Adsense

Love Coding

Note anything I want

  • Home
  • Web Development
    • HTML
    • Javascript
    • jQuery
    • CSS
    • PHP
    • ASP
    • JSP
    • Fix Bug
  • Other Development
    • Desktop Java
    • Mobile J2ME
    • VBS
  • Operating System
    • Windows
    • Linux
  • Database
    • MySQL
    • Oracle
  • Software
Home » PHP » Love Coding: Lấy khoảng thời gian một tuần có chứa ngày cho trước

Lấy khoảng thời gian một tuần có chứa ngày cho trước

HuyPV
Add Comment
PHP
Tuesday, January 7, 2014
Bài toán:
Cho ngày cụ thể D. Tìm khoảng thời gian 1 tuần Dx - Dy sao cho D thuộc trong khoảng thời gian Dx - Dy. Biết Dx là ngày thứ ba (Tuesday).

Giải:
 1 tuần có 7 ngày
Chủ nhậtThứ hai Thứ ba Thứ tư Thứ nămThứ sáu Thứ bẩy
Từ ngày D ta xác định được D là ngày chủ nhật hay thứ mấy.
Do khoảng thời gian là 1 tuần, Dx là thứ ba nên Dy là thứ hai.
Nhìn vào bảng trên, ta nhận thấy:
- Nếu D là ngày Thứ ba, Thứ tư, Thứ năm, Thứ sáu, Thứ bẩy thì Dx sẽ là Thứ ba trong bảng. Dy sẽ là Thứ hai - 1 tuần sau của Thứ hai trong bảng.
- Nếu D là ngày Chủ nhật hoặc Thứ hai thì Dy sẽ là Thứ hai trong bảng. Theo đó Dx sẽ là Thứ ba - 1 tuần trước của Thứ ba trong bảng.

Code PHP:
$d = time(); // CURRENT TIME
$dayIndex = date('w', $d); // Trả về số thứ tự của ngày trong tuần, bắt đầu từ 0 là Chủ nhật
if ($dayIndex >= 2) { // 2 là số thứ tự của Thứ ba
    $dx= strtotime(date('Y-m-d 00:00:00', $d- ($dayIndex -2) *24*3600));
    $dy= strtotime(date('Y-m-d 23:59:59', $dx+6*24*3600));
} else {
    $dy= strtotime(date('Y-m-d 00:00:00', $d+ (1-$dayIndex ) *24*3600)); // 1 là số thứ tự của Thứ hai
    $dx= strtotime(date('Y-m-d 23:59:59', $dy-6*24*3600));
}

echo date('Y-m-d', $dx) . ' - ' . date('Y-m-d', $dy);
Tweet
Lấy khoảng thời gian một tuần có chứa ngày cho trước Title: Lấy khoảng thời gian một tuần có chứa ngày cho trước
Description: Bài toán: Cho ngày cụ thể D. Tìm khoảng thời gian 1 tuần Dx - Dy sao cho D thuộc trong khoảng thời gian Dx - Dy. Biết Dx là ngày thứ ba (Tu... ...
Rating: 4

No comments :

Post a Comment

Newer Post Older Post Home
Subscribe to: Post Comments ( Atom )
Quảng cáo

Popular Posts

  • mysql_error: Undeclared variable: INF
    mysql_error: Undeclared variable: INF PHP Code: $limit = 10; $page = isset($_GET['p']) ? $_GET['p'] : 1; $offset = ($pa...
  • Check Laravel version
    Đối tác bảo đang code và dùng Laravel, giờ muốn biết version Laravel tương ứng là bao nhiêu để xem mà code theo. Làm sao check? Cách 1: Sử...
  • VBS - Upload file HTTP Post
    Source: http://www.ericphelps.com/scripting/samples/Reference/Web/HTTP_POST.txt   Sub Upload(strUploadUrl, strFilePath, strFileField, strD...
  • Add other collapse div to your forum
    Collapse <div style="height: 16px; padding-right: 4px; font-weight: bold;" class="blockhead"> <span style=...
  • Trong laravel thì queue:work với queue:listen khác nhau thế nào?
    Trong laravel thì queue:work với queue:listen đều chạy jobs trong queue. Vậy 2 cái này cũng phải có gì đó khác nhau chứ, nếu ko thì nó là ...
  • Hàm chuyển từ ngày dương lịch sang âm lịch (PHP)
    <?php function INT($d) {     return floor($d); } function jdFromDate($dd, $mm, $yy) {     $a = INT((14 - $mm) / 12);     $y = $yy + 4800 ...
  • Use the YouTube API with PHP
    Process and integrate data from YouTube into your PHP application with PHP's SimpleXML extension Summary:   The YouTube vide...
  • Character Set và Collation trong MySQL là gì? Tạo DB thì để UTF8_GENERAL_CI hay UTF8_BIN
    Character Set là một tập các ký tự và dạng số hóa của các ký tự đó Collation là một tập các luật để so sánh các xâu được sinh ra từ các ký ...
  • git checkout file from other branch
    Đang làm trên nhánh dev. Muốn lấy 1 file, ví dụ: xxx/helper.php ở trên nhánh master về dev thì làm thế nào? Cách 1: nông dân nhiều bước nh...
  • Download media files (video, audio) from VnExpress.Net
    Download media files (video, audio) from VnExpress.Net Example: http://vnexpress.net/GL/Vi-tinh/Giai-tri/2010/02/3BA18A0E/page_4.asp htt...
Back to top!
Copyright 2010 Love Coding - All Rights Reserved Design by Newbie_PC - Powered by Blogger