User Tag List

Trang 1/7 123 ... cuốicuối
kết quả từ 1 tới 10 trên 63
Cây cảm ơn37Cảm ơn

Ðề tài: Thuật toán tính Âm lịch từ Dương lịch dùng phương pháp tra bảng

  
  1. #1
    Thành viên tích cực pctcom's Avatar
    Tham gia
    Mar 2010
    Nơi Cư Ngụ
    Sài Gòn
    Bài viết
    232
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    Thuật toán tính Âm lịch từ Dương lịch dùng phương pháp tra bảng

    Trong diễn đàn đã có rất nhiều bạn đã tự làm cho mình mạch đồng hồ ứng dụng IC thời gian thực, cho phép hiện thị thời gian và ngày tháng năm Dương lịch. Tuy nhiên rất ít người thành công khi chuyển qua làm lịch vạn niên có cả ngày tháng Âm lịch. Cái khó ở đây là cách chuyển đổi từ Dương lịch sang Âm lịch.




    Thực sự ra với những bạn đã từng sử dụng phương pháp tra bảng để so sánh thì thuật toán này không quá khó, cái hay ở đây là làm sao bảng tra phải có dung lượng thật nhỏ để toàn bộ code gói gọn trong 4kb của 89c51.

    Tôi sẽ giới thiệu cho các bạn ở các bài viết sau code chuyển đổi Dương lịch thành Âm lịch dùng bảng tra với 60 byte cho 1 năm.

    CHỦ ĐỀ TƯƠNG TỰ:

      Last edited by pctcom; 18-07-11 at 22:10.
      truongvanqua, thiennv0109, taikhoandatt4 người nữa đã cảm ơn nội dung này.
      PCT COMPUTER
      (Để không làm ảnh hưởng đến thời gian và công việc cá nhân. Xin vui lòng không nhắn tin và điện thoại)

    • #2
      Thành viên tích cực thiennv0109's Avatar
      Tham gia
      Dec 2010
      Bài viết
      229


      Nhóm xã hội



      PCB DesignerSemiconductor supplier from ChinaPCB

      Mentioned
      0 Post(s)
      Tagged
      0 Thread(s)
      Tiếp tục post đi bạn Click here to enlarge

      Đối với Tôi Đam mê là yếu tố không thể thiếu để quyết định sự Thành Công ...!
      Gmail: duythien88hn@gmail.com-Mobile: 0989.194.472

    • #3
      Thành viên tích cực pctcom's Avatar
      Tham gia
      Mar 2010
      Nơi Cư Ngụ
      Sài Gòn
      Bài viết
      232
      Mentioned
      1 Post(s)
      Tagged
      0 Thread(s)

      Cách tính ngày Âm lịch theo phương pháp tra bảng tra bảng:

      Công thức tính ngày Âm lịch theo phương pháp tra bảng tra bảng:


      Tính ngày Âm lịch:

      Nếu (ngày Dương lịch tương ứng với ngày đầu tháng Âm lịch) bằng (ngày hiện tại) thì ngày Âm lịch bằng 1
      (N_DL_DAU_THANG = NGAY => NGAY_AL = 1)
      Hoặc (ngày Dương lịch tương ứng với ngày đầu tháng Âm lịch) trừ (ngày hiện tại): (N_DL_DAU_THANG - NGAY) :

      - Nếu không có nhớ (C=0) thì ngày Âm lịch bằng (ngày Dương lịch hiện tại) cộng (ngày Âm lịch của đầu tháng Dương lịch) rồi trừ 1
      (NGAY_AL = ((NGAY + N_AL_DAU_THANG)-1)
      - Nếu có nhớ (C=1) thì ngày Âm lịch hiện tại bằng (ngày Dương lịch hiện tại) trừ (ngày Dương lịch đầu tháng Âm lịch) rồi + 1
      (NGAY_AL = ((NGAY - N_DL_DAU_THANG)+1)


      ;===============================================

      Tính tháng Âm lịch :

      Bằng cách lấy (ngày Dương lịch tương ứng với đầu tháng Âm lịch trong tháng) trừ (ngày hiện tại)
      (N_DL_DAU_THANG - NGAY)

      - Nếu không có nhớ (C=0) thì tháng Âm lịch hiện tại bằng tháng Âm lịch của đầu tháng Dương lịch
      (THANG_AL = (T_AL_DAU_THANG)
      - Nếu có nhớ (C=1) thì tháng Âm lịch hiện tại bằng tháng Âm lịch của ngày đầu tháng Âm lịch
      (THANG_AL = T_AL_DAU_T_AL)

      ;===============================================

      Tính năm Âm lịch:

      Bằng cách lấy (tháng Dương lịch) trừ cho (tháng Âm lịch) (THANG - THANG_AL)

      - Nếu không có nhớ (C=0) thì năm Âm lịch sẽ bằng năm Dương lịch
      (NAM_AL=NAM)
      - Nếu có nhớ (C=1) thì năm Âm lịch hiện tại bằng năm Dương lịch trừ 1
      (NAM_AL = NAM - 1)

      ;===============================================

      Trong đó:

      - NGAY = ngày Dương lịch.(có sẵn trong IC thời gian thực)
      - NGAY_AL = ngày Âm lịch.(kết quả)
      - N_DL_DAU_THANG = ngày Dương lịch đầu tháng Âm lịch.(bảng tra)
      - N_AL_DAU_THANG = ngày Âm lịch của đầu tháng Dương lịch.(bảng tra)
      - THANG = tháng Dương lịch. (có sẵn trong IC thời gian thực)
      - THANG_AL = tháng Âm lịch.(kết quả)
      - T_AL_DAU_THANG = tháng Âm lịch đầu tháng Dương lịch. (bảng tra)
      - T_AL_DAU_T_AL = tháng Âm lịch đầu tháng Âm lịch.(bảng tra)
      - NAM = năm Dương lịch. (có sẵn trong IC thời gian thực)
      - NAM_AL = năm Âm lịch.(kết quả)

      Theo các công thức trên ta đã có 4 biến cần thiết trong bảng tra tương ứng cho mỗi tháng. Nhưng chưa đủ ở đây còn thiếu 1 biến, biến thứ 5. Vậy theo bạn ý biến này là gì ..... ???.

      Last edited by pctcom; 19-07-11 at 20:59.
      Ck33spkt, truongvanqua, menxplorer1 người nữa đã cảm ơn nội dung này.
      PCT COMPUTER
      (Để không làm ảnh hưởng đến thời gian và công việc cá nhân. Xin vui lòng không nhắn tin và điện thoại)

    • #4
      Thành viên tích cực pctcom's Avatar
      Tham gia
      Mar 2010
      Nơi Cư Ngụ
      Sài Gòn
      Bài viết
      232
      Mentioned
      1 Post(s)
      Tagged
      0 Thread(s)
      Để tiện cho việc so sánh và chỉnh ngày tháng, Biến thứ 5 cần thiết phải có là tổng số ngày Dương lịch trong tháng DL.

      Bảng dưới đây được tạo ra cho 5 năm, trích từ Lịch "Vietnamese Lunar calendar".


      Với các biến được xếp theo thứ tự như sau:

      ngày AL đầu tháng DL; tháng AL đầu tháng DL; ngày DL của đầu tháng AL;tháng AL của đầu tháng AL; tổng số ngày DL trong tháng.

      DL2009:
      DL2009_1: DB 6,12,26,1,31 ; Tháng 1 năm 2009
      DL2009_2: DB 7,1,25,2,28 ; ; Tháng 2 năm 2009
      DL2009_3: DB 5,2,26,3,31
      DL2009_4: DB 7,3,25,4,30
      DL2009_5: DB 7,4,24,5,31
      DL2009_6: DB 9,5,23,5,30
      DL2009_7: DB 9,5,22,6,31
      DL2009_8: DB 11,6,20,7,31
      DL2009_9: DB 13,7,19,8,30
      DL2009_10: DB 13,8,18,9,31
      DL2009_11: DB 15,9,17,10,30
      DL2009_12: DB 15,10,16,11,31

      DL2010:
      DL2010_1: DB 17,11,15,12,31 ; Tháng 1 năm 2010
      DL2010_2: DB 18,12,14,1,28
      DL2010_3: DB 16,1,16,2,31
      DL2010_4: DB 17,2,14,3,30
      DL2010_5: DB 18,3,14,4,31
      DL2010_6: DB 19,4,12,5,30
      DL2010_7: DB 20,5,12,6,31
      DL2010_8: DB 21,6,10,7,31
      DL2010_9: DB 23,7,8,8,30
      DL2010_10: DB 24,8,8,9,31
      DL2010_11: DB 25,9,6,10,30
      DL2010_12: DB 26,10,6,11,31

      DL2011:
      DL2011_1: DB 27,11,4,12,31
      DL2011_2: DB 19,12,3,1,28
      DL2011_3: DB 27,1,5,2,31
      DL2011_4: DB 28,2,3,3,30
      DL2011_5: DB 29,3,3,4,31
      DL2011_6: DB 30,4,2,5,30
      DL2011_7: DB 1,6,31,7,31
      DL2011_8: DB 2,7,29,8,31
      DL2011_9: DB 4,8,27,9,30
      DL2011_10: DB 5,9,27,10,31
      DL2011_11: DB 6,10,25,11,30
      DL2011_12: DB 7,11,25,12,31

      DL2012:
      DL2012_1: DB 8,12,23,1,31
      DL2012_2: DB 10,1,22,2,29
      DL2012_3: DB 9,2,22,3,31
      DL2012_4: DB 11,3,21,4,30
      DL2012_5: DB 11,4,21,4,31
      DL2012_6: DB 12,4,19,5,30
      DL2012_7: DB 13,5,19,6,30
      DL2012_8: DB 14,6,17,7,31
      DL2012_9: DB 16,7,16,8,30
      DL2012_10: DB 16,8,15,9,31
      DL2012_11: DB 18,9,14,10,30
      DL2012_12: DB 18,10,13,11,31

      DL2013:
      DL2013_1: DB 20,11,12,12,31
      DL2013_2: DB 21,12,10,1,28
      DL2013_3: DB 20,1,12,2,31
      DL2013_4: DB 21,2,10,3,30
      DL2013_5: DB 22,3,10,4,31
      DL2013_6: DB 23,4,8,5,30
      DL2013_7: DB 24,5,8,6,31
      DL2013_8: DB 25,6,7,7,31
      DL2013_9: DB 26,7,5,8,30
      DL2013_10: DB 27,8,5,9,31
      DL2013_11: DB 28,9,3,10,30
      DL2013_12: DB 29,10,3,11,31
      ;==================================

      Tới đây chúng ta có thể dễ dàng tạo code Lịch Vạn Niên Âm lịch cho 89C51 hoặc cho các loại Vi điều khiển khác từ các công thức trên.

      Các bạn có thể tạo nội dung bảng tra lên đến vài chục năm mà vẫn không sợ hết dung lượng bộ nhớ của VXL

      Last edited by pctcom; 20-07-11 at 19:27.
      locdoan, menxplorertosang đã cảm ơn nội dung này.
      PCT COMPUTER
      (Để không làm ảnh hưởng đến thời gian và công việc cá nhân. Xin vui lòng không nhắn tin và điện thoại)

    • #5
      Thành viên tích cực thiennv0109's Avatar
      Tham gia
      Dec 2010
      Bài viết
      229


      Nhóm xã hội



      PCB DesignerSemiconductor supplier from ChinaPCB

      Mentioned
      0 Post(s)
      Tagged
      0 Thread(s)
      từ năm 2014 trở đi cần bảng tra nữa chứ, hay bảng kia sẽ đủ cho các năm sau hay là chu kì cần khoảng bao nhiêu năm thì lặp lại vậy?

      Đối với Tôi Đam mê là yếu tố không thể thiếu để quyết định sự Thành Công ...!
      Gmail: duythien88hn@gmail.com-Mobile: 0989.194.472

    • #6
      Thành viên tích cực pctcom's Avatar
      Tham gia
      Mar 2010
      Nơi Cư Ngụ
      Sài Gòn
      Bài viết
      232
      Mentioned
      1 Post(s)
      Tagged
      0 Thread(s)
      Click here to enlarge Nguyên văn bởi thiennv0109 Click here to enlarge
      từ năm 2014 trở đi cần bảng tra nữa chứ, hay bảng kia sẽ đủ cho các năm sau hay là chu kì cần khoảng bao nhiêu năm thì lặp lại vậy?
      Bảng 5 năm trên chỉ là ví dụ. Muốn số năm nhiều hơn bạn phải tạo thêm cho bảng.

      Theo cách tính "Can, Chi" thì chu kỳ của lịch Âm so với Lịch Dương là 19 năm, tuy nhiên nó vẫn có 1 số trường hợp đặc biệt.

      locdoan đã cảm ơn nội dung này.
      PCT COMPUTER
      (Để không làm ảnh hưởng đến thời gian và công việc cá nhân. Xin vui lòng không nhắn tin và điện thoại)

    • #7
      Thành viên tích cực pctcom's Avatar
      Tham gia
      Mar 2010
      Nơi Cư Ngụ
      Sài Gòn
      Bài viết
      232
      Mentioned
      1 Post(s)
      Tagged
      0 Thread(s)
      Chúng ta đã phân tích và tìm ra cách để biến đổi ngày Âm-Dương, còn code thực tế thì sao?

      Dưới đây là đoạn code ASM mẫu để đổi thời gian từ Dương lịch sang Âm lịch viết cho 89C52:

      PHP Code:
      ;===============================================================
      ;
      CLOCK CONTROLLER 8951     DAT28-04-2005
      write by PHAM-CHINH-TAM     MAILphamchinhtam@gmail.com      TEL:0918227077
      ;===============================================================
      ;=================================
      DOI_DL_AL:  ;Code đổi Dương lịch sang Âm lịch
      ;=================================
          
      MOV    A,NAM            CHON NAM
          CJNE    A
      ,#9,NAM2
          
      MOV     DPTR,#DL2009
          
      LJMP    TRA_THEO_THANG
      NAM2
      :
          
      CJNE    A,#10,NAM3
          
      MOV     DPTR,#DL2010
          
      LJMP    TRA_THEO_THANG
      NAM3
      :
          
      CJNE    A,#11,NAM4
          
      MOV     DPTR,#DL2011
          
      LJMP    TRA_THEO_THANG
      NAM4
      :
          
      CJNE    A,#12,NAM5
          
      MOV     DPTR,#DL2012
          
      LJMP    TRA_THEO_THANG
      NAM5
      :
          
      CJNE    A,#13,NAM6
          
      MOV     DPTR,#DL2013
          
      LJMP    TRA_THEO_THANG
      NAM6
      :
          
      CJNE    A,#14,NAM7
          
      MOV     DPTR,#DL2014
          
      LJMP    TRA_THEO_THANG
      NAM7
      :
          
      CJNE    A,#15,NAM8
          
      MOV     DPTR,#DL2015
          
      LJMP    TRA_THEO_THANG
      NAM8
      :
          
      CJNE    A,#16,NAM9
          
      MOV     DPTR,#DL2016
          
      LJMP    TRA_THEO_THANG
      NAM9
      :
          
      CJNE    A,#17,NAM10
          
      MOV     DPTR,#DL2017
          
      LJMP    TRA_THEO_THANG
      NAM10
      :
          
      CJNE    A,#18,NAM11
          
      MOV     DPTR,#DL2018
          
      LJMP    TRA_THEO_THANG
      NAM11
      :
          
      MOV     DPTR,#DL2019
      ;===========================================
      TRA_THEO_THANG:    
          
      MOV        A,THANG            CHON THANG
          CJNE    A
      ,#1,THANG2
          
      MOV     R6,#0            ; VI TRI DU LIEU TUONG UNG THEO THANG TRONG BANG
          
      LJMP    TRA_BANG
      THANG2
      :
          
      CJNE    A,#2,THANG3
          
      MOV     R6,#5
          
      LJMP    TRA_BANG
      THANG3
      :
          
      CJNE    A,#3,THANG4
          
      MOV     R6,#10
          
      LJMP    TRA_BANG
      THANG4
      :
          
      CJNE    A,#4,THANG5
          
      MOV     R6,#15
          
      LJMP    TRA_BANG
      THANG5
      :
          
      CJNE    A,#5,THANG6
          
      MOV     R6,#20
          
      LJMP    TRA_BANG
      THANG6
      :
          
      CJNE    A,#6,THANG7
          
      MOV     R6,#25
          
      LJMP    TRA_BANG
      THANG7
      :
          
      CJNE    A,#7,THANG8
          
      MOV     R6,#30
          
      LJMP    TRA_BANG
      THANG8
      :
          
      CJNE    A,#8,THANG9
          
      MOV     R6,#35
          
      LJMP    TRA_BANG
      THANG9
      :
          
      CJNE    A,#9,THANG10
          
      MOV     R6,#40
          
      LJMP    TRA_BANG
      THANG10
      :
          
      CJNE    A,#10,THANG11
          
      MOV     R6,#45
          
      LJMP    TRA_BANG
      THANG11
      :
          
      CJNE    A,#11,THANG12
          
      MOV     R6,#50
          
      LJMP    TRA_BANG
      THANG12
      :
          
      MOV     R6,#55
      ;==========================================================
      TRA_BANG:
          
      MOV        A,R6
          MOVC    A
      ,@A+DPTR
          MOV        N_AL_DAU_THANG
      ,A    ;CAT VAONGAY AL DAU THANG DL
          INC        R6
          MOV        A
      ,R6
          MOVC    A
      ,@A+DPTR
          MOV        T_AL_DAU_T_DL
      ,A    CAT VAOTHANG AL DAU THANG DL
          INC        R6
          MOV        A
      ,R6
          MOVC    A
      ,@A+DPTR
          MOV        N_DL_DAU_THANG
      ,A    CAT VAONGAY DL DAU THANG AL
          INC        R6
          MOV        A
      ,R6
          MOVC    A
      ,@A+DPTR
          MOV        T_AL_DAU_T_AL
      ,A        CAT VAOTHANG AL DAU THANG AM LICH
          INC        R6
          MOV        A
      ,R6
          MOVC    A
      ,@A+DPTR
          MOV        N_TRONG_THANG
      ,A        CAT VAOSO NGAY TRONG THANG
          
      ;==========================================================
          
      MOV        B,NGAY                      NGAY hien tai
          MOV        A
      ,N_DL_DAU_THANG            tru di ngay duong lich tuong ung voi mung 1 am lich trong thang
          CLR        C
          SUBB    A
      ,B
          JC        SET_NGAY                    
      ;
          
      MOV        THANG_AL,T_AL_DAU_T_DL     ;NGAY HT Lon HON NGAY DAU THANG AL thi  Thang_al T_AL_DAU_T_DL
          MOV        A
      ,NGAY                        ;THI NGAY AL NGAY AL DAU THANG NGAY HT
          MOV        B
      ,N_AL_DAU_THANG
          ADD        A
      ,B
          DEC        A
          CJNE    A
      ,#31,CAT_NGAY_AL
          
      MOV        A,#1
          
      INC        THANG_AL
      CAT_NGAY_AL
      :    
          
      MOV        NGAY_AL,A
          MOV        A
      ,THANG_AL
          CJNE    A
      ,#13,EXIT_SET_NGAY
          
      MOV        THANG_AL,#1
          
      LJMP    EXIT_SET_NGAY
      SET_NGAY
      :                                ;NGAY HT LON HON NGAY DAU THANG AL
                                              
      ;THI THANG AL THANG AM LICH DAU THANG AL
          MOV        THANG_AL
      ,T_AL_DAU_T_AL
          MOV        A
      ,NGAY                        ;VA NGAY AL NGAY NGAY DL CUA DAU THANG AL 1
          MOV        B
      ,N_DL_DAU_THANG
          SUBB    A
      ,B
          INC        A
          INC        A
          MOV        NGAY_AL
      ,A
      EXIT_SET_NGAY
      :
      TINH_NAM_AL:                            ;Tinh nam AL
          MOV        A
      ,THANG    
          MOV        B
      ,THANG_AL
          CLR        C
          SUBB    A
      ,B
          JC        SET_NAM
          MOV        A
      ,NAM
          MOV        NAM_AL
      ,A
      RET    
      SET_NAM
      :    
          
      MOV        A,NAM
          DEC        A
          MOV        NAM_AL
      ,A
      RET


      ;=====================================================================================================
      BANG TRA AM LICH :             
      ;=====================================

      BANG:                                                  
      DL2009:  
      DL2009_1:    DB     6,12,26,1,31 ;ngày AL dau thangthang AL dau thangngay dl dau thang AL;thang AL cua dau thang ALso ngay DL trong thang
      DL2009_2
      :    DB    7,1,25,2,28
      DL2009_3
      DB  5,2,26,3,31
      DL2009_4
      :    DB    7,3,25,4,30        
      DL2009_5
      :    DB    7,4,24,5,31
      DL2009_6
      :    DB    9,5,23,5,30    
      DL2009_7
      :    DB    9,5,22,6,31
      DL2009_8
      :    DB    11,6,20,7,31
      DL2009_9
      :    DB    13,7,19,8,30
      DL2009_10
      :DB    13,8,18,9,31
      DL2009_11
      :DB    15,9,17,10,30
      DL2009_12
      :DB    15,10,16,11,31
      DL2010
      :
      DL2010_1:    DB    17,11,15,12,31
      DL2010_2
      :    DB    18,12,14,1,28
      DL2010_3
      DB    16,1,16,2,31    
      DL2010_4
      :    DB    17,2,14,3,30
      DL2010_5
      :    DB    18,3,14,4,31
      DL2010_6
      :    DB    19,4,12,5,30
      DL2010_7
      DB    20,5,12,6,31
      DL2010_8
      DB    21,6,10,7,31
      DL2010_9
      :    DB    23,7,8,8,30
      DL2010_10
      :DB    24,8,8,9,31
      DL2010_11
      :DB    25,9,6,10,30
      DL2010_12
      :DB    26,10,6,11,31
      DL2011
      :
      DL2011_1:    DB    27,11,4,12,31
      DL2011_2
      :    DB    19,12,3,1,28
      DL2011_3
      :    DB    27,1,5,2,31
      DL2011_4
      :    DB    28,2,3,3,30
      DL2011_5
      :    DB    29,3,3,4,31
      DL2011_6
      :    DB    30,4,2,5,30
      DL2011_7
      :    DB    1,6,31,7,31
      DL2011_8
      :    DB    2,7,29,8,31
      DL2011_9
      :    DB    4,8,27,9,30
      DL2011_10
      :DB    5,9,27,10,31
      DL2011_11
      :DB    6,10,25,11,30
      DL2011_12
      :DB    7,11,25,12,31

      DL2012
      :        
      DL2012_1:    DB    8,12,23,1,31
      DL2012_2
      :    DB    10,1,22,2,29
      DL2012_3
      :    DB    9,2,22,3,31
      DL2012_4
      :    DB    11,3,21,4,30
      DL2012_5
      :    DB    11,4,21,4,31
      DL2012_6
      :    DB    12,4,19,5,30
      DL2012_7
      :    DB    13,5,19,6,30
      DL2012_8
      :    DB    14,6,17,7,31
      DL2012_9
      :    DB    16,7,16,8,30
      DL2012_10
      :DB    16,8,15,9,31
      DL2012_11
      :DB    18,9,14,10,30
      DL2012_12
      :DB    18,10,13,11,31

      DL2013
      :        
      DL2013_1:    DB    20,11,12,12,31
      DL2013_2
      :    DB    21,12,10,1,28
      DL2013_3
      :    DB    20,1,12,2,31
      DL2013_4
      :    DB    21,2,10,3,30
      DL2013_5
      :    DB    22,3,10,4,31
      DL2013_6
      :    DB    23,4,8,5,30
      DL2013_7
      :    DB    24,5,8,6,31
      DL2013_8
      :    DB    25,6,7,7,31
      DL2013_9
      :    DB    26,7,5,8,30
      DL2013_10
      :DB    27,8,5,9,31
      DL2013_11
      :DB    28,9,3,10,30
      DL2013_12
      :DB    29,10,3,11,31

      DL2014
      :             ;ngày AL dau thangthang AL dau thangngay dl dau thang AL;thang AL cua dau thang ALso ngay DL trong thang
      DL2014_1
      :    DB    1,12,31,1,31
      DL2014_2
      :    DB    2,1,30,2,28    ;KHONG CO NAY 1AL
      DL2014_3
      :    DB    1,2,31,3,31
      DL2014_4
      :    DB    2,3,29,4,30
      DL2014_5
      :    DB    3,4,29,5,31
      DL2014_6
      :    DB    4,5,27,6,30
      DL2014_7
      :    DB    5,6,27,7,31
      DL2014_8
      :    DB    6,7,25,8,31
      DL2014_9
      :    DB    8,8,24,9,30
      DL2014_10
      :DB    8,9,24,9,31
      DL2014_11
      :DB    9,9,22,10,30
      DL2014_12
      :DB    10,10,22,11,31

      DL2015
      :        
      DL2015_1:    DB    11,11,20,12,31
      DL2015_2
      :    DB    13,12,19,1,28
      DL2015_3
      :    DB    11,1,20,2,31
      DL2015_4
      :    DB    13,2,19,3,30
      DL2015_5
      :    DB    13,3,18,4,31
      DL2015_6
      :    DB    15,4,16,5,30
      DL2015_7
      :    DB    16,5,16,6,31
      DL2015_8
      :    DB    17,6,14,7,31
      DL2015_9
      :    DB    19,7,13,8,30
      DL2015_10
      :DB    19,8,13,9,31
      DL2015_11
      :DB    20,9,12,10,30
      DL2015_12
      :DB    20,10,11,11,31

      DL2016
      :        
      DL2016_1:    DB  22,11,10,12,31
      DL2016_2
      :    DB    23,12,8,1,29
      DL2016_3
      :    DB    23,1,9,2,31
      DL2016_4
      :    DB    24,2,7,3,30
      DL2016_5
      :    DB    25,3,7,4,31
      DL2016_6
      :    DB    26,4,5,5,30
      DL2016_7
      :    DB    27,5,4,6,31
      DL2016_8
      :    DB    29,6,3,7,31
      DL2016_9
      :    DB    1,8,31,9,30    ;KHONG CO NAY 1AL
      DL2016_10
      :DB    1,9,31,10,31
      DL2016_11
      :DB    2,10,29,11,30
      DL2016_12
      :DB    3,11,29,12,31

      DL2017
      :        
      DL2017_1:    DB  4,12,28,1,31
      DL2017_2
      :    DB    5,1,26,2,28
      DL2017_3
      :    DB    4,2,28,3,31
      DL2017_4
      :    DB    5,3,26,4,30
      DL2017_5
      :    DB    6,4,26,5,31
      DL2017_6
      :    DB    7,5,24,6,30
      DL2017_7
      :    DB    8,6,23,6,31
      DL2017_8
      :    DB    10,6,22,7,31
      DL2017_9
      :    DB    11,7,20,8,30
      DL2017_10
      :DB    12,8,20,9,31
      DL2017_11
      :DB    13,9,18,10,30
      DL2017_12
      :DB    14,10,18,11,31

      DL2018
      :        
      DL2018_1:    DB  15,11,17,12,31
      DL2018_2
      :    DB    16,12,16,1,28
      DL2018_3
      :    DB    14,1,17,2,31
      DL2018_4
      :    DB    16,2,16,3,30
      DL2018_5
      :    DB    16,3,15,4,31
      DL2018_6
      :    DB    18,4,14,5,30
      DL2018_7
      :    DB    18,5,13,6,31
      DL2018_8
      :    DB    20,6,11,7,31
      DL2018_9
      :    DB    22,7,10,8,30
      DL2018_10
      :DB    22,8,9,9,31
      DL2018_11
      :DB    24,9,7,10,30
      DL2018_12
      :DB  25,10,7,11,31

      DL2019
      :        
      DL2019_1:    DB  26,11,6,12,31
      DL2019_2
      :    DB    27,12,5,1,28
      DL2019_3
      :    DB    25,1,6,2,31
      DL2019_4
      :    DB    27,2,5,3,30
      DL2019_5
      :    DB    27,3,5,4,31
      DL2019_6
      :    DB    28,4,3,5,30
      DL2019_7
      :    DB    29,5,3,6,31
      DL2019_8
      :    DB    1,7,30,8,31
      DL2019_9
      :    DB    3,8,29,9,30
      DL2019_10
      :DB    3,9,28,10,31
      DL2019_11
      :DB    5,10,26,11,30
      DL2019_12
      :DB    6,11,26,12,31

      DL2020
      :        
      DL2020_1:    DB  7,12,25,1,31
      DL2020_2
      :    DB    8,1,23,2,29
      DL2020_3
      :    DB    8,2,24,3,31
      DL2020_4
      :    DB    9,3,23,4,30
      DL2020_5
      :    DB    9,4,23,4,31
      DL2020_6
      :    DB    10,4,21,5,30
      DL2020_7
      :    DB    11,5,21,6,31
      DL2020_8
      :    DB    12,6,19,7,31
      DL2020_9
      :    DB    14,7,17,8,30
      DL2020_10
      :DB    15,8,17,9,31
      DL2020_11
      :DB    16,9,15,10,30
      DL2020_12
      :DB    17,10,14,11,31

      DL2021
      :        
      DL2021_1:    DB  19,11,13,12,31
      DL2021_2
      :    DB    20,12,12,1,28
      DL2021_3
      :    DB    18,1,13,2,31
      DL2021_4
      :    DB    20,2,12,3,30
      DL2021_5
      :    DB    20,3,12,4,31
      DL2021_6
      :    DB    21,4,10,5,30
      DL2021_7
      :    DB    22,5,10,6,31
      DL2021_8
      :    DB    23,6,8,7,31
      DL2021_9
      :    DB    25,7,7,8,30
      DL2021_10
      :DB    25,8,6,9,31
      DL2021_11
      :DB    27,9,5,10,30
      DL2021_12
      :DB  27,10,4,11,31

      DL2022
      :        
      DL2022_1:    DB  29,11,3,12,31
      DL2022_2
      :    DB    1,1,28,1,28        
      DL2022_3
      :    DB    29,1,3,2,31
      DL2022_4
      :    DB    1,3,31,4,30        ;KHONG CO NAY 1AL
      DL2022_5
      :    DB    1,4,30,5,31
      DL2022_6
      :    DB    3,5,29,6,30
      DL2022_7
      :    DB    3,6,29,7,31
      DL2022_8
      :    DB    4,7,27,8,31
      DL2022_9
      :    DB    6,8,26,9,30
      DL2022_10
      :DB    6,9,25,10,31
      DL2022_11
      :DB    8,10,24,11,30
      DL2022_12
      :DB  8,11,23,12,31

      DL2023
      :        
      DL2023_1:    DB  10,12,22,1,31
      DL2023_2
      :    DB    11,1,20,2,28
      DL2023_3
      :    DB    10,2,22,2,31
      DL2023_4
      :    DB    11,2,20,3,30
      DL2023_5
      :    DB    12,3,19,4,31
      DL2023_6
      :    DB    14,4,18,5,30
      DL2023_7
      :    DB    14,5,18,6,31
      DL2023_8
      :    DB    15,6,16,7,31
      DL2023_9
      :    DB    17,7,15,8,30
      DL2023_10
      :DB    17,8,15,9,31
      DL2023_11
      :DB    18,9,13,10,30
      DL2023_12
      :DB  19,10,13,11,31

      DL2024
      :        
      DL2024_1:    DB  20,11,11,12,31
      DL2024_2
      :    DB    22,12,10,1,29
      DL2024_3
      :    DB    21,1,10,2,31
      DL2024_4
      :    DB    23,2,9,3,30
      DL2024_5
      :    DB    23,3,8,4,31
      DL2024_6
      :    DB    25,4,6,5,30
      DL2024_7
      :    DB    26,5,6,6,31
      DL2024_8
      :    DB    27,6,4,7,31
      DL2024_9
      :    DB    29,7,3,8,30
      DL2024_10
      :DB    29,8,3,9,31
      DL2024_11
      :DB    1,10,1,10,30
      DL2024_12
      :DB  1,11,31,12,31

      DL2025
      :        
      DL2025_1:    DB  2,12,29,1,31
      DL2025_2
      :    DB    4,1,28,2,28
      DL2025_3
      :    DB    2,2,29,3,31
      DL2025_4
      :    DB    4,3,28,4,30
      DL2025_5
      :    DB    4,4,27,5,31
      DL2025_6
      :    DB    6,5,25,6,30
      DL2025_7
      :    DB    7,6,25,6,31
      DL2025_8
      :    DB    8,6,23,7,31
      DL2025_9
      :    DB    10,7,22,8,30
      DL2025_10
      :    DB    10,8,21,9,31
      DL2025_11
      :    DB    12,9,20,10,30
      DL2025_12
      :    DB  12,10,20,11,31

      DL2026
      :        
      DL2026_1:    DB  13,11,19,12,31
      DL2026_2
      :    DB    14,12,17,1,28
      DL2026_3
      :    DB    13,1,19,2,31
      DL2026_4
      :    DB    14,2,17,3,30
      DL2026_5
      :    DB    15,3,17,4,31
      DL2026_6
      :    DB    16,4,15,5,30
      DL2026_7
      :    DB    17,5,14,6,31
      DL2026_8
      :    DB    19,6,13,7,31
      DL2026_9
      :    DB    20,7,11,8,30
      DL2026_10
      :DB    21,8,10,9,31
      DL2026_11
      :DB    23,9,9,10,30
      DL2026_12
      :DB  23,10,9,11,31

      DL2027
      :        
      DL2027_1:    DB  24,11,8,12,31
      DL2027_2
      :    DB    25,12,6,1,28
      DL2027_3
      :    DB    24,1,8,2,31
      DL2027_4
      :    DB    25,2,7,3,30
      DL2027_5
      :    DB    25,3,6,4,31
      DL2027_6
      :    DB    27,4,5,5,30
      DL2027_7
      :    DB    27,5,4,6,31
      DL2027_8
      :    DB    29,6,2,7,31
      DL2027_9
      :    DB    1,8,30,9,30
      DL2027_10
      :DB    2,9,29,10,31
      DL2027_11
      :DB    4,10,28,11,30
      DL2027_12
      :DB  4,11,28,12,31

      DL2028
      :        
      DL2028_1:    DB  5,12,26,1,31
      DL2028_2
      :    DB    7,1,25,2,29
      DL2028_3
      :    DB    6,2,26,3,31
      DL2028_4
      :    DB    7,3,25,4,30
      DL2028_5
      :    DB    7,4,24,5,31
      DL2028_6
      :    DB    9,5,23,5,30
      DL2028_7
      :    DB    9,5,22,6,31
      DL2028_8
      :    DB    11,6,20,7,31
      DL2028_9
      :    DB    13,7,19,8,30
      DL2028_10
      :DB    13,8,18,9,31
      DL2028_11
      :DB    15,9,16,10,30
      DL2028_12
      :DB  16,10,16,11,31

      DL2029
      :        
      DL2029_1:    DB  17,11,15,12,31
      DL2029_2
      :    DB    18,12,13,1,28
      DL2029_3
      :    DB    17,1,15,2,31
      DL2029_4
      :    DB    18,2,14,3,30
      DL2029_5
      :    DB    18,3,13,4,31
      DL2029_6
      :    DB    20,4,12,5,30
      DL2029_7
      :    DB    20,5,11,6,31
      DL2029_8
      :    DB    22,6,10,7,31
      DL2029_9
      :    DB    23,7,8,8,30
      DL2029_10
      :DB    24,8,8,9,31
      DL2029_11
      :DB    25,9,6,10,30
      DL2029_12
      :DB  26,10,5,11,31

      DL2030
      :        
      DL2030_1:    DB  28,11,4,12,31
      DL2030_2
      :    DB    29,12,2,1,28
      DL2030_3
      :    DB    28,1,4,2,31
      DL2030_4
      :    DB    29,2,3,3,30
      DL2030_5
      :    DB    29,3,2,4,31
      DL2030_6
      :    DB    1,5,31,6,30        ;KHONG CO NAY 1AL
      DL2030_7
      :    DB    1,6,30,7,31
      DL2030_8
      :    DB    3,7,29,8,31
      DL2030_9
      :    DB    4,8,27,9,30
      DL2030_10
      :DB    5,9,27,10,31
      DL2030_11
      :DB    6,10,25,11,30
      DL2030_12
      :DB  7,11,25,12,31
      RET 


      Last edited by pctcom; 24-07-11 at 11:35.
      Ck33spkt, locdoan, thuandienluc2 người nữa đã cảm ơn nội dung này.
      PCT COMPUTER
      (Để không làm ảnh hưởng đến thời gian và công việc cá nhân. Xin vui lòng không nhắn tin và điện thoại)

    • #8
      Thành viên tích cực pctcom's Avatar
      Tham gia
      Mar 2010
      Nơi Cư Ngụ
      Sài Gòn
      Bài viết
      232
      Mentioned
      1 Post(s)
      Tagged
      0 Thread(s)

      Cách thức hoạt động.

      Đoạn code trên hoạt động như sau:

      Trỏ tới năm hiện tại => trỏ tới tháng hiện tại => cất 5 biến trong tháng từ bảng tra vào ram để chuẩn bị cho việc chuyển đổi. => chuyển đổi Dương lịch thành Âm lịch.

      menxplorer đã cảm ơn nội dung này.
      PCT COMPUTER
      (Để không làm ảnh hưởng đến thời gian và công việc cá nhân. Xin vui lòng không nhắn tin và điện thoại)

    • #9
      Thành viên tích cực pctcom's Avatar
      Tham gia
      Mar 2010
      Nơi Cư Ngụ
      Sài Gòn
      Bài viết
      232
      Mentioned
      1 Post(s)
      Tagged
      0 Thread(s)
      Click here to enlarge Nguyên văn bởi pctcom Click here to enlarge
      Đoạn code trên hoạt động như sau:

      Trỏ tới năm hiện tại => trỏ tới tháng hiện tại => cất 5 biến trong tháng từ bảng tra vào ram để chuẩn bị cho việc chuyển đổi. => chuyển đổi Dương lịch thành Âm lịch.
      Hi. chủ đề này không thấy hứng thú với mọi người nhỉ.

      locdoan, taikhoandatt, ksclc07i1 người nữa đã cảm ơn nội dung này.
      PCT COMPUTER
      (Để không làm ảnh hưởng đến thời gian và công việc cá nhân. Xin vui lòng không nhắn tin và điện thoại)

    • #10
      Thành viên chính thức ksclc07i's Avatar
      Tham gia
      Jul 2011
      Bài viết
      44
      Mentioned
      0 Post(s)
      Tagged
      0 Thread(s)
      Bài viết của bạn rất hay! Bạn cho mình hỏi trong mảng đó bạn còn đưa thêm "tổng ngày trong tháng" để làm gì vậy?
      Mình đang edit lại hàm chuyển đổi dương lịch sang âm lịch chạy trên Matlab, rồi viết thêm hàm nữa xuất dữ liệu như của bạn nhưng với từ năm a tới năm b (chẳng hạn 1900 đến 2100) sẽ không phải mất công dò.
      Thân


    Trang 1/7 123 ... cuốicuối

    Quyền Sử Dụng Ở Diễn Ðàn

    • Bạn không được gửi luồng mới
    • Bạn không được trả lời bài viết
    • Bạn không được gửi file đính kèm
    • Bạn không được sửa bài viết của mình
    •