10/10/2018, 11:30
Giúp mình thuật toán tính số ngày trong 1 tháng
biết tháng/năm bất kỳ thì có thể cho ra số ngày của tháng đó
VD : biết tháng 9/2010 thì qua công thức sẽ tính được chính xác tháng 9/2010 có bao nhiêu ngày
Công thức này nhà sx lịch hay sử dụng để in lịch , tôi nhớ hồi mới học pascal thầy giáo cho bài này và có sử dụng công thức, nhưng lâu quá rồi không nhớ nữa . Bạn nào biết thì POST giúp mình cái công thức đó nhé. xin cảm ơn
VD : biết tháng 9/2010 thì qua công thức sẽ tính được chính xác tháng 9/2010 có bao nhiêu ngày
Công thức này nhà sx lịch hay sử dụng để in lịch , tôi nhớ hồi mới học pascal thầy giáo cho bài này và có sử dụng công thức, nhưng lâu quá rồi không nhớ nữa . Bạn nào biết thì POST giúp mình cái công thức đó nhé. xin cảm ơn
Bài liên quan
$t; $year; $d;
switch ( $t ) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
$d = 31;
break;
case 4:
case 6:
case 9:
case 11:
$d = 30;
break;
case 2:
if( $year % 100 != 0 && $year % 4 == 0 ) {
$d = 29;
} else {
$d = 28;
}
break;
default: $d = 0;
}
[=========> Bổ sung bài viết <=========]
$t; $year; $d;
switch ( $t ) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
$d = 31;
break;
case 4:
case 6:
case 9:
case 11:
$d = 30;
break;
case 2:
if( $year % 100 != 0 && $year % 4 == 0 ) {
$d = 29;
} else {
$d = 28;
}
break;
default: $d = 0;
}
Còn kiểm tra năm nhuận thì ng ta tính thêm trường hợp chia hết cho 400 nữa:
if ($year % 100 != 0 && $year % 4 === 0 || $year % 400 === 0) {
}
firstdayofmonth() -> return the first day of the month & year
lastdayofmonth() -> return the last day of the month & year
whatquater() -> return quater 1 /2 /3 /4 tuỳ theo ngay tìm
whatsemi() -> return semi-annual 1 /2 tuỳ theo ngay tìm
nameofmonth() -> return "January" , "Febuary" v.v. tuỳ theo ngay tìm
nameofday() -> return "Monday", Tuseday" v..v tuỳ theo ngay tìm.
dayofdate() -> - Return số của ngày ví dụ như ngày 25 tây.
Julian() -> return ngày thứ tự trong 365 ngày của năm.
isleapyear() -> return locgic đúng sai cho năm nhuận.
Khi có những function này trong library rồi thì chuyện tìm ngày tháng sẻ dể dàng.
Tuỳ theo ngôn ngữ dùng mà viết các function này.
Trong những chương trình kế toán tôi viết thì các funtion này luôn luôn gặp hoài không bao giờ thiếu.
Đây củng có thể gọi là một bài tập cho các bạn thử tài viết code của mình ra sao.
Những bài tập nhỏ nhưng rất hửu ích.
mong các anh chị vì đàn em thân yêu!hihi
Cứ tháng 1, 3, 5, 7, 8, 10, 12 là 31 hết.
Tháng 4, 6, 9, 11 là 30.
Còn nếu tháng 2 thì đem số năm chia cho 4, nếu chia hết tức là năm nhuận, có 29, còn nếu ko thì là năm thường, có 28 >.
Thân.
[x]