Mình vừa đăng ký được tài khoản chính thức ChatGPT tại Việt Nam một cách rất đơn giản bằng gmail và số điện thoại viettel của mình:
![[Hình: QLHfHHU.png]](https://i.imgur.com/QLHfHHU.png)
Mình vẫn tiếp tục hỏi function chuyển ngày dương lịch sang âm lịch và đay là câu trả lời:
Function Solar2Lunar(solarDate As Date) As Date
    ' Các thông số cần thiết để chuyển đổi ngày dương lịch sang ngày âm lịch
    ' (Được tìm thấy trên https://www.informatik.uni-leipzig.de/~d...2Lunar.pdf)
    
    Dim lunarMonth As Integer
    Dim lunarDay As Integer
    Dim lunarYear As Integer
    Dim i As Integer
    Dim leap As Long
    Dim temp As Long
    
    Dim dd, mm, yy As Long
    Dim dayNumber As Long
    
    dd = Day(solarDate)
    mm = Month(solarDate)
    yy = Year(solarDate)
    
    dayNumber = Int((DateSerial(yy, mm, dd) - DateSerial(1900, 1, 31)).TotalDays)
    
    leap = 0
    For i = 1900 To 2199
        temp = LunarYearDays(i)
        If (dayNumber >= temp) Then
            dayNumber = dayNumber - temp
            leap = GetLeapMonth(i)
        Else
            Exit For
        End If
    Next i
    
    lunarMonth = 1
    Do While (dayNumber >= LunarMonthDays(leap, lunarMonth))
        dayNumber = dayNumber - LunarMonthDays(leap, lunarMonth)
        lunarMonth = lunarMonth + 1
    Loop
    
    lunarDay = dayNumber + 1
    lunarYear = i
    
    If (leap > 0 And lunarMonth > leap) Then
        lunarMonth = lunarMonth - 1
        If (lunarMonth = leap) Then
            lunarMonth = -leap
        End If
    End If
    
    Lunar2Solar = DateSerial(lunarYear, lunarMonth, lunarDay)
End Function
' Hàm LunarYearDays trả về tổng số ngày của âm lịch trong một năm cụ thể
Private Function LunarYearDays(lunarYear As Integer) As Long
    Dim i As Integer
    Dim sum As Long
    
    sum = 348
    For i = 0 To 11
        If (((LunarYearMonths(lunarYear) >> i) And 1) = 1) Then
            sum = sum + 1
        End If
    Next i
    
    sum = sum + GetLeapMonthDays(lunarYear)
    
    LunarYearDays = sum
End Function
' Hàm LunarMonthDays trả về tổng số ngày của một tháng âm lịch trong một năm cụ thể
Private Function LunarMonthDays(leap As Long, lunarMonth As Integer) As Long
    If (((LunarYearMonths(leap) >> (lunarMonth - 1)) And 1) = 1) Then
        LunarMonthDays = 30
    Else
        LunarMonthDays = 29
    End If
End Function
' Hàm GetLeapMonth trả về tháng nhuận trong một năm cụ thể (nếu có)
Private Function GetLeapMonth(lunarYear As Integer) As Long
    GetLeapMonth = LunarYearMonths(lunarYear) And &HF
End Function
' Hàm GetLeapMonthDays trả về số ngày của tháng nhuận trong một năm cụ thể
Private Function GetLeapMonthDays(lunarYear As Integer) As Long
    If (GetLeapMonth(lunarYear) > 0) Then
        If ((LunarYearMonths(lunarYear) And &XF000) = &XF000) Then
            GetLeapMonthDays = 30
        Else
            GetLeapMonthDays = 29
        End If
    Else
        GetLeapMonthDays = 0
    End If
End Function
' Mảng LunarYearMonths lưu trữ thông tin về tháng âm lịch của một năm cụ thể
' Các giá trị trong mảng có nghĩa như sau:
' 19 bit đầu tiên đại diện cho 12 tháng âm lịch, bắt đầu từ tháng 1 đến tháng 12. 
' Nếu giá trị của bit tại một vị trí bằng 0, thì tháng tương ứng có 29 ngày; nếu bằng 1, thì tháng đó có 30 ngày.
' 4 bit cuối cùng có nghĩa là thông tin về tháng nhuận của năm đó. Giá trị của bit thứ 0 bằng 1 nếu năm đó có tháng nhuận, ngược lại bằng 0.
' 3 bit tiếp theo đại diện cho tháng nhuận (1 đến 12), nếu năm không có tháng nhuận thì sử dụng giá trị 0.
Private LunarYearMonths(259) As Long
Private Sub InitLunarYearMonths()
    LunarYearMonths(1900) = &H4BD
    LunarYearMonths(1901) = &H4AE
    LunarYearMonths(1902) = &HA5B
    LunarYearMonths(1903) = &H516
    LunarYearMonths(1904) = &HAD5
    LunarYearMonths(1905) = &HB6A
    ...
    LunarYearMonths(2197) = &H95B
    LunarYearMonths(2198) = &H49B
    LunarYearMonths(2199) = &H4B5
End Sub
Các bạn có thể đăng ký ChatGPT nhanh chóng bằng cách vào trang: voicegpt.us
Khi nó hiển thị hình ảnh dưới đây thì chọn Sign up
![[Hình: ksTvpR3.png]](https://i.imgur.com/ksTvpR3.png)
Khi nó hiện bảng dưới đây thì các bạn điền đầy đủ số liệu vào (số liệu giả cũng được kể cả email và số điện thoại). Pass thì phải có chữ hoa, thường, số và ký tự đặc biệt.
![[Hình: VDFsHsL.png]](https://i.imgur.com/VDFsHsL.png)
Về phần INVITE CODE thì các bạn gõ vào:  kZt4uVq, đây là mã số của mình dùng để giới thiệu bạn bè đăng ký ChatGPT (không có mã giới thiệu này nó buột phải đăng ký số điện thoại ngoài Việt Nam, trước đây có thể mua số điện thoại ảo để đăng ký nhưng bây giờ thì không còn được nữa rồi, tôi cũng nhờ đứa em ở Mỹ cho mã giới thiệu mới đăng ký đươc. Tất nhiên sau khi các bạn đăng ký xong thì cũng có mã INVITE CODE để giới thiệu cho người khác)
Sau đó thực hiện nốt những công việc nó yêu cầu là xong.