02/10/2018, 00:03

Tính can chi và thứ trong tuần khi biết ngày, tháng , năm

Hôm nay mình xin hướng dẫn các bạn cách tính can chi và tìm thứ trong tuần. Vd: 28/03/1988 => Bạn sinh vào ngày thứ hai năm Mậu thìn Can có 10 can: GIÁP; ẤT; BÍNH ; ĐINH; MẬU ; KỈ ; CANH ; TÂN ; NHÂM; QUÝ. Chi có 12 chi: TÝ ; SỬU ...

Hôm nay mình xin hướng dẫn các bạn cách tính can chi và tìm thứ trong tuần.

Vd: 28/03/1988 => Bạn sinh vào ngày thứ hai năm Mậu thìn

Can có 10 can: GIÁP; ẤT; BÍNH ; ĐINH; MẬU ; KỈ ; CANH ; TÂN ; NHÂM; QUÝ. 

Chi có 12 chi: TÝ ; SỬU ; DẦN ; MÃO; THÌN ; TỴ ; NGỌ ;MÙI ; THÂN ; DẬU ; TUẤT; HỢI.

Bảng tính can chi:

+ Bảng can:

0 1 2 3 4 5 6 7 8 9
Canh Tân Nhâm Quý Giáp  Ất Bính  Đinh Mậu Kỷ

+ Bảng chi:

  Sửu Dần Mão Thìn Tỵ Ngọ Mùi  Thân Dậu Tuất Hợi
3 1 2 0 1 2 0 1 2 0 1 2 0
4 0 1 2 3 0 1 2 3 0 1 2 3

Bảng Can:

  Với 10 chữ số tương ứng với 10 CAN theo bảng( tính theo chữ số cuối cùng của năm sinh); VD. Bạn sinh năm 1986, số 6 tương ứng với CAN  Bính

Bảng Chi:

 Bảng này sử dụng dấu hiệu chia hết cho 3 va cho 4

 (Nhắc lại )

 + Tổng các chữ số của 1 số chia cho 3 có cùng số dư với số đó chia cho 3; VD số 1986 có 1+9+8+6 =24. số 24 chia cho 3 dư 0, nên số 1986 chia cho 3 cũng dư 0.

  +Một số được tạo thành từ 2 chữ  số cuối cùng của 1 số  chia cho 4 có cùng số dư với số đó chia cho 4 ;VD Số 1986 có 86 chia cho 4 dư 2 nên số 1986 cũng chia cho 4 dư 2.

Giờ ta nhìn vào bảng 2. Số 1986 chia cho 3 dư 0 và chia cho 4 dư 2 nên năm 1986 có Chi la Dần.

+ Hàm tính thứ khi biết ngày, tháng, năm

thu = CDate(MaskedTextBox1.Text).DayOfWeek.ToString()

Tính can chi và thứ trong ngày

Dưới đây là code VB:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim ngay As String = vb.Left(MaskedTextBox1.Text, 2)
        Dim thang As String = vb.Mid(MaskedTextBox1.Text, 3, 2)
        Dim nam As String = vb.Right(MaskedTextBox1.Text, 4)
        ' Tính Can Có 10 CAN là : GIÁP; ẤT; BÍNH ; ĐINH; MẬU ; KỈ ; CANH ; TÂN ; NHÂM; QUÝ
        Dim can As String = vb.Right(nam, 1)
        Dim chi As String = ""
        Dim kq As String = ""
        If can = 0 Then
            kq = "Canh"
        ElseIf can = 1 Then
            kq = "Tân"
        ElseIf can = 2 Then
            kq = "Nhâm"
        ElseIf can = 3 Then
            kq = "Qúy"
        ElseIf can = 4 Then
            kq = "Giáp"
        ElseIf can = 5 Then
            kq = "Ất"
        ElseIf can = 6 Then
            kq = "Bính"
        ElseIf can = 7 Then
            kq = "Đinh"
        ElseIf can = 8 Then
            kq = "Mậu"
        ElseIf can = 9 Then
            kq = "Kỷ"
        End If
        ' Tính Chi có 12 chi: TÝ ; SỬU ; DẦN ; MÃO; THÌN ; TỴ ; NGỌ ;MÙI ; THÂN ; DẬU ; TUẤT; HỢI.
        Dim a As String = (vb.Right(nam, 1) + vb.Mid(nam, 6, 1) + vb.Mid(nam, 7, 1) + vb.Mid(nam, 8, 1)) Mod 3
        Dim b As String = (vb.Right(nam, 2)) Mod 4
        Dim c As String = a & b
        If c = "00" Then
            chi = "Thân"
        ElseIf c = "01" Then
            chi = "Tỵ"
        ElseIf c = "02" Then
            chi = "Dần"
        ElseIf c = "03" Then
            chi = "Hợi"
        ElseIf c = "10" Then
            chi = "Tý"
        ElseIf c = "11" Then
            chi = "Dậu"
        ElseIf c = "12" Then
            chi = "Ngọ"
        ElseIf c = "13" Then
            chi = "Mão"
        ElseIf c = "20" Then
            chi = "Thìn"
        ElseIf c = "21" Then
            chi = "Sửu"
        ElseIf c = "22" Then
            chi = "Tuất"
        ElseIf c = "23" Then
            chi = "Mùi"
        End If
        ' Tính thứ trong ngày
        Dim thu As String
        thu = CDate(MaskedTextBox1.Text).DayOfWeek.ToString()
        If thu = "Monday" Then
            thu = "thứ hai"
        ElseIf thu = "Tuesday" Then
            thu = "thứ ba"
        ElseIf thu = "Wednesday" Then
            thu = "thứ tư"
        ElseIf thu = "Thursday" Then
            thu = "thứ năm"
        ElseIf thu = "Friday" Then
            thu = "thứ sáu"
        ElseIf thu = "Saturday" Then
            thu = "thứ bảy"
        ElseIf thu = "Sunday" Then
            thu = "chủ nhật"
        End If
        ' Xuất kết quả
        TextBox1.Text = "Bạn sinh vào ngày " & thu & " năm " & kq & " " & chi
    End Sub

Cuối cùng bạn nhớ import thư viện này vào:

Imports vb = Microsoft.VisualBasic.Strings

Rất đơn giản phải không các bạn, chúc các bạn thành công.

Tags: controlwindow basic
0