การตรวจสอบปีงบประมาณของไทย
ปีงบประมาณของราชการไทย จะเริ่มต้นเมื่อ 1 ตุลาคม ไปจนถึง 30 กันยายน ของทุกปีครับ ทำให้การคำนวณว่าเวลาที่กำหนดจะอยู่ในปีใด อาจปวดหัวสำหรับหลายคน เรามาลองดูวิธีคิดแบบง่ายๆกันครับ
จริงๆแล้ว โค้ดด้านบนถ้าวาดเส้นออกมาตามวันที่ก็จะทำให้มองภาพได้ง่ายครับ
<?php
function fiscalYear($date) {
// วันที่ที่ต้องการตรวจสอบ
list($year, $month, $day) = explode("-", $date);
// วันที่ที่ส่งมา (mktime)
$cday = mktime(0, 0, 0, $month, $day, $year);
// ปีงบประมาณตามค่าที่ส่งมา (mktime)
$d1 = mktime(0, 0, 0, 10, 1, $year);
// ปีใหม่
$d2 = mktime(0, 0, 0, 1, 1, $year + 1);
if ($cday >= $d1 && $cday < $d2) {
// 1 ตค. - 31 ธค.
$year++;
}
echo "$date = $year <br>";
}
fiscalYear('2011-01-01'); // 2011
fiscalYear('2011-09-30'); // 2011
fiscalYear('2011-10-01'); // 2012
fiscalYear('2011-10-02'); // 2012
fiscalYear('2011-12-31'); // 2012
fiscalYear('2012-01-01'); // 2012
fiscalYear('2012-09-30'); // 2012
fiscalYear('2012-10-01'); // 2013
fiscalYear('2012-10-02'); // 2013
?>
จริงๆแล้ว โค้ดด้านบนถ้าวาดเส้นออกมาตามวันที่ก็จะทำให้มองภาพได้ง่ายครับ
ปัญหามันจะอยู่ที่เส้นสีแดง ครับ ถ้าช่วงปีนี้เป็น คศ. 2011 นั่นหมายความว่า ระหว่าง 1 มค. 2011 ถึง ก่อน 1 ตค. 2011 จะอยู่ในขอบเขตปีงบประมาณของตัวเอง หรือคือปี 2011 แต่ระหว่างวันที่ 1 ตค. เป็นต้นไปจนถึงสิ้นปี ปีงบประมาณจะเท่ากับปีปัจจุบันบวกด้วย 1 ตามรูปเลยครับ