Nếu đây là lần đầu tiên đến với Điện Tử Việt Nam, bạn có thể đọc phần Hỏi đáp bằng cách nhấn vào liên kết. Có thể bạn cần đăng kí trước khi có thể gửi bài . Để bắt đầu xem bài viết, chọn diễn đàn bạn muốn thăm dưới đây.
Hic. Pác nào có thuật toán chuyển đổi dương lịch sang Âm lich cho lịch vạn niên không
Mình có cái này cho bạn. Bạn tự đọc và hiểu nha.
void he_24h(void)
{
gio=z;
//------------
if(l==1) gio=z;
if(l==2) if((z>12)||(z==0)) gio=abs(z-12);
//------------
if (thang==2)
if (nam%4==0)
y=30;
else
y=29;
if ((thang==1)||(thang==3)||(thang==5)||(thang==7)||( thang==8)||(thang==10)||(thang==12))
y=32;
if ((thang==4)||(thang==6)||(thang==9)||(thang==11))
y=31;
}
Đây là code lịch năm 2011; giờ mình muốn chuyển sang năm 2012 (nhuận t4 âm) thì sao dc"
//-- chuyen ngay duong sang ngay am------
void DA(int m,d)
{
ngayduong=(m-1)*31+d;//so ngay duong so voi 1.1
if ((m==3)|(m==4)) ngayduong=ngayduong-3;//do thang 2 co 28 ngay
else
if ((m==5)|(m==6)) ngayduong=ngayduong-4;// thang 4 co 30 ngay
else
if ((m==7)|(m==8)|(m==9)) ngayduong=ngayduong-5;//thang 6 co 30 ngay
else
if ((m==10)|(m==11)) ngayduong=ngayduong-6;//thang 9 co 30 ngay
else
if (m==12) ngayduong=ngayduong-7;// thang 11 co 30 ngay
ngayam=ngayduong+26;//mung 1.1 la ngay 27.11
thangam=11;
if (ngayam>=30)
{
ngayam=ngayam-29;
thangam=12;
}
while (ngayam>=30)
{
if ((thangam==2)|(thangam==5)|(thangam==8)|(thangam== 7)|(thangam==10))
{
if (ngayam==29) break;
ngayam=ngayam-29;
thangam++;
if (thangam==13) thangam=1;
}
else
if (ngayam==30) break;
else
{
ngayam=ngayam-30;
thangam++;
if (thangam==13) thangam=1;
}
}
}
Vẫn nhớ và kính trọng Bác cũng các cao nhân trên dientuvietnam.net. Tính từ ngày tham gia trên này cũng đã hơn 20 năm rồi. Quá nhiều thay đổi cả trong công việc và cuộc sống. Nhưng được thấy lại các nick cũ vẫn sáng đèn là thấy vui rồi....
Comment