1. Date
Date 'As Date
Trả về ngày hiện tại.
Ví dụ:
2. DateAdd
DateAdd(Interval As String, Number As Double, Date) 'As Date
Trả lại một ngày sau đó đã thêm một khoảng thời gian/ ngày nhất định
Interval: Đơn vị tính thời gian
Number: Số lượng đơn vị thời gian cần thêm vào
Date: Mốc thời gian cần thêm vào
Ví dụ:
trong ví dụ trên, hàm date trả về ngày 16/10/2021; kết quả của hàm dateadd trả về ngày 17/10/2021
trong ví dụ trên, hàm date trả về ngày 16/10/2021; kết quả của hàm dateadd trả về ngày 16/10/2022
Vậy, mong các bạn cùng góp ý, giải thích bổ sung thêm về ý nghĩa của interval (đơn vị tính thời gian) theo bảng trên. Cụ thể có thể so sánh sự giống và khác nhau giữa y và yyyy; giữa w và www.
3. DateDiff
DateDiff(Interval As String, Date1, Date2, [FirstDayOfWeek As VbDayOfWeek = vbSunday], [FirstWeekOfYear As VbFirstWeekOfYear = vbFirstJan1]) 'As Long
Trả về sự khác biệt giữa hai giá trị ngày Date1 và Date2 dựa trên đơn vị tính thời gian (interval) được chỉ định.
Interval: Là khoảng thời gian để sử dụng trong việc tính toán sự khác biệt giữa Date1 và Date2
Date1, Date2: Hai ngày đem ra tính toán sự khác biệt
FirstDayOfWeek: Không bắt buộc. Là một hằng số xác định ngày đầu tiên trong tuần. Nếu tham số này bị bỏ qua, nó giả định rằng chủ nhật là ngày đầu tiên của tuần.
Firstweekofyear: Không bắt buộc. Là một hằng số xác định vào tuần đầu tiên của năm. Nếu tham số này bị bỏ qua, nó giả định rằng tuần có chứa ngày 1 tháng 1 là tuần đầu tiên của năm.
Ví dụ:
Thủ tục này trả kết quả là 365.
Thủ tục này trả kết quả là 1.
4. DatePart
DatePart(Interval As String, Date, [FirstDayOfWeek As VbDayOfWeek = vbSunday], [FirstWeekOfYear As VbFirstWeekOfYear = VbFirstJan1]) 'As Integer
Trả về một phần xác định của một ngày nhất định.
Interval: Khoảng thời gian muốn trả về kết quả.
Date: Ngày đưa ra để xét
FirstDayOfWeek: Không bắt buộc. Là một hằng số xác định ngày đầu tiên trong tuần. Nếu tham số này bị bỏ qua, nó giả định rằng chủ nhật là ngày đầu tiên của tuần.
Firstweekofyear: Không bắt buộc. Là một hằng số xác định vào tuần đầu tiên của năm. Nếu tham số này bị bỏ qua, nó giả định rằng tuần có chứa ngày 1 tháng 1 là tuần đầu tiên của năm.
Ví dụ:
Thủ tục này trả về kết quả 289 (nghĩa là: ngày 16/10/2021 là ngày thứ 289 trong năm 2021)
Thủ tục này trả về kết quả 2021.
5. DateSerial
DateSerial(Year As Integer, Month As Integer, Day As Integer) 'As Date
Trả về một ngày trong năm.
Ví dụ:
6. DateValue
DateValue(Date As String) 'As Date
Trả về giá trị ngày của chuỗi định dạng kiểu ngày.
Ví dụ:
Kết quả trả về trong ví dụ trên:
02/07/1987
02/07/1987
02/07/2021
7. Day
Day(Date) 'As Integer
Trả về một ngày trong tháng (một số từ 1-31) từ giá trị ngày tháng đưa vào.
Ví dụ:
8. Format Date
Format(Expression, [Format], [FirstDayOfWeek As VbDayOfWeek = vb Sunday], [FirstWeekOfYear As VbFirstWeekOfYear = vbFirstJan1]) 'As String
Expression: Giá trị ngày cần định dạng.
Format: Không bắt buộc. Là kiểu định dạng mong muốn, có các kiểu sau:
FirstDayOfWeek: Không bắt buộc. Là một hằng số xác định ngày đầu tiên trong tuần. Nếu tham số này bị bỏ qua, nó giả định rằng chủ nhật là ngày đầu tiên của tuần.
Firstweekofyear: Không bắt buộc. Là một hằng số xác định vào tuần đầu tiên của năm. Nếu tham số này bị bỏ qua, nó giả định rằng tuần có chứa ngày 1 tháng 1 là tuần đầu tiên của năm.
Ví dụ:
9. Hour
Hour(Time) As Integer
Trả về số giờ (một số từ 0-23) của thời gian đưa vào.
Ví dụ:
10. Minute
Minute(Time) 'As Integer
Trả về số phút (một số từ 0-59) của thời gian đưa vào.
Ví dụ:
11. Month
Month(Date) 'As Integer
Trả về tháng (một số từ 1-12) của giá trị ngày đưa vào.
Ví dụ:
12. MonthName
MonthName(Month As long, [Abbreviate As Boolean = False]) 'As String
Trả về một chuỗi đại diện cho tháng được cho một số từ 1 đến 12
Month: Một số từ 1-12 đại diện cho một tháng trong năm
Abbreviate: Không bắt buộc. Tham số thuộc kiểu giá trị Boolean, hoặc TRUE hoặc FALSE. Nếu chọn TRUE, thì tên tháng được viết tắt. Nếu chọn FALSE, tên tháng không viết tắt.
Ví dụ:
13. Now
Now 'As Date
Trả lại ngày, giờ hiện tại của hệ thống.
Ví dụ:
14. TimeSerial
TimeSerial(Hour As Integer, Minute As Integer, Second As Integer) 'As Date
Trả về thời gian ứng với giá trị giờ, phút và giây đưa vào.
Ví dụ:
15. TimeValue
TimeValue(Time As String) 'As Date
Trả về trị số thời gian của một thời gian ở dạng chuỗi.
Ví dụ:
16. Weekday
Weekday(Date, [FirstDayOfWeek As VbDayOfWeek = vbSunday]) 'As Integer
Trả về một số đại diện cho ngày trong tuần tương ứng với ngày xét.
Date: Ngày đưa ra để xét
FirstDayOfWeek: Không bắt buộc. Là một hằng số xác định ngày đầu tiên trong tuần. Nếu tham số này bị bỏ qua, nó giả định rằng chủ nhật là ngày đầu tiên của tuần.
Ví dụ:
17. WeekdayName
WeekdayName(Weekday As Long, [Abbreviate As Boolean = False], [FirstDayOfWeek As VbDayOfWeek = vbUseSytemDayOfWeek]) 'As String
Trả về một chuỗi đại diện cho ngày trong tuần ứng với số từ 1 đến 7
Weekday: một số ứng với ngày trong tuần, từ số 1 -7
Abbreviate: Không bắt buộc. Tham số thuộc kiểu giá trị Boolean, hoặc TRUE hoặc FALSE. Nếu chọn TRUE, thì tên ngày được viết tắt. Nếu chọn FALSE, tên ngày không viết tắt.
FirstDayOfWeek: Không bắt buộc. Là một hằng số xác định ngày đầu tiên trong tuần. Nếu tham số này bị bỏ qua, nó giả định rằng chủ nhật là ngày đầu tiên của tuần.
Ví dụ:
18. Year
Year(Date) 'As Integer
Trả về trị số năm có bốn chữ số (một số từ năm 1900 đến 9999) ứng với ngày đang xét.
Ví dụ:
Date 'As Date
Trả về ngày hiện tại.
Ví dụ:
Mã:
Sub test()
Debug.Print Date
End Sub
DateAdd(Interval As String, Number As Double, Date) 'As Date
Trả lại một ngày sau đó đã thêm một khoảng thời gian/ ngày nhất định
Interval: Đơn vị tính thời gian
Number: Số lượng đơn vị thời gian cần thêm vào
Date: Mốc thời gian cần thêm vào
Giá trị (Interval) | Chú thích |
yyyy | Year |
q | Quarter |
m | Month |
y | Day of the year |
d | Day |
w | Weekday |
ww | Week |
h | Hour |
n | Minute |
s | Second |
Ví dụ:
Mã:
Sub test()
Debug.Print DateAdd("y", 1, Date)
End Sub
Mã:
Sub test2()
Debug.Print DateAdd("yyyy", 1, Date)
End Sub
Vậy, mong các bạn cùng góp ý, giải thích bổ sung thêm về ý nghĩa của interval (đơn vị tính thời gian) theo bảng trên. Cụ thể có thể so sánh sự giống và khác nhau giữa y và yyyy; giữa w và www.
3. DateDiff
DateDiff(Interval As String, Date1, Date2, [FirstDayOfWeek As VbDayOfWeek = vbSunday], [FirstWeekOfYear As VbFirstWeekOfYear = vbFirstJan1]) 'As Long
Trả về sự khác biệt giữa hai giá trị ngày Date1 và Date2 dựa trên đơn vị tính thời gian (interval) được chỉ định.
Interval: Là khoảng thời gian để sử dụng trong việc tính toán sự khác biệt giữa Date1 và Date2
Date1, Date2: Hai ngày đem ra tính toán sự khác biệt
FirstDayOfWeek: Không bắt buộc. Là một hằng số xác định ngày đầu tiên trong tuần. Nếu tham số này bị bỏ qua, nó giả định rằng chủ nhật là ngày đầu tiên của tuần.
Firstweekofyear: Không bắt buộc. Là một hằng số xác định vào tuần đầu tiên của năm. Nếu tham số này bị bỏ qua, nó giả định rằng tuần có chứa ngày 1 tháng 1 là tuần đầu tiên của năm.
Giá trị (Interval) | Chú thích |
yyyy | Year |
q | Quarter |
m | Month |
y | Day of the year |
d | Day |
w | Weekday |
ww | Week |
h | Hour |
n | Minute |
s | Second |
Ví dụ:
Mã:
Sub DATEDIFF_Fn()
Debug.Print DateDiff("y", "16/10/2021", "16/10/2022")
End Sub
Mã:
Sub DATEDIFF_Fn()
Debug.Print DateDiff("yyyy", "16/10/2021", "16/10/2022")
End Sub
4. DatePart
DatePart(Interval As String, Date, [FirstDayOfWeek As VbDayOfWeek = vbSunday], [FirstWeekOfYear As VbFirstWeekOfYear = VbFirstJan1]) 'As Integer
Trả về một phần xác định của một ngày nhất định.
Interval: Khoảng thời gian muốn trả về kết quả.
Giá trị (Interval) | Chú thích |
yyyy | Year |
q | Quarter |
m | Month |
y | Day of the year |
d | Day |
w | Weekday |
ww | Week |
h | Hour |
n | Minute |
s | Second |
FirstDayOfWeek: Không bắt buộc. Là một hằng số xác định ngày đầu tiên trong tuần. Nếu tham số này bị bỏ qua, nó giả định rằng chủ nhật là ngày đầu tiên của tuần.
Hằng số | Giá trị | Chú thích |
vbUseSystem | 0 | Use the NLS API setting |
vbSunday | 1 | Sunday (default) |
vbMonday | 2 | Monday |
vbTuesday | 3 | Tuesday |
vbWednesday | 4 | Wednesday |
vbThursday | 5 | Thursday |
vbFriday | 6 | Friday |
vbSaturday | 7 | Saturday |
Hằng số | Giá trị | Chú thích |
vbUseSystem | 0 | Use the NSL API setting |
vbFirstJan1 | 1 | Use the first week that includes Jan 1st (default) |
vbFirstFourDays | 2 | Use the first week in the year that has at least 4 days |
vbFirstFullWeek | 3 | Use the first full week of the year |
Mã:
Sub DATEPART_Fn()
Debug.Print DatePart("y", "16/10/2021")
'Result: 289
End Sub
Mã:
Sub DATEPART_Fn()
Debug.Print DatePart("yyyy", "16/10/2021")
'Result: 2021
End Sub
5. DateSerial
DateSerial(Year As Integer, Month As Integer, Day As Integer) 'As Date
Trả về một ngày trong năm.
Ví dụ:
Mã:
Sub DATESERIAL_Fn()
Debug.Print DateSerial(1988, 7, 2)
'Result: 02/07/1988
End Sub
6. DateValue
DateValue(Date As String) 'As Date
Trả về giá trị ngày của chuỗi định dạng kiểu ngày.
Bạn cần đăng nhập để thấy link
Ví dụ:
Mã:
Sub DATEVALUE_Fn()
Debug.Print DateValue("02/07/1987")
Debug.Print DateValue("02/07/87")
Debug.Print DateValue("02/07/21")
End Sub
02/07/1987
02/07/1987
02/07/2021
7. Day
Day(Date) 'As Integer
Trả về một ngày trong tháng (một số từ 1-31) từ giá trị ngày tháng đưa vào.
Ví dụ:
Mã:
Sub DAY_Fn()
Debug.Print Day("20/02/2021") 'Result: 20
Debug.Print Day("12/31/2021") 'Result: 31
End Sub
Format(Expression, [Format], [FirstDayOfWeek As VbDayOfWeek = vb Sunday], [FirstWeekOfYear As VbFirstWeekOfYear = vbFirstJan1]) 'As String
Expression: Giá trị ngày cần định dạng.
Format: Không bắt buộc. Là kiểu định dạng mong muốn, có các kiểu sau:
Kiểu định dạng | Chú thích |
General Date | Theo định dạng thiết lập trong hệ thống máy tính |
Long Date | Kiểu định dạng ngày dài theo thiết lập trong hệ thống |
Medium Date | Kiểu định dạng ngày trung bình theo thiết lập trong hệ thống |
Short Date | Kiểu định dạng ngày ngắn theo thiết lập trong hệ thống |
Long Time | Kiểu định dạng thời gian dài theo thiết lập trong hệ thống |
Medium Time | Kiểu định dạng thời gian trung bình theo thiết lập trong hệ thống |
Short Time | Kiểu định dạng thời gian ngắn theo thiết lập trong hệ thống |
Firstweekofyear: Không bắt buộc. Là một hằng số xác định vào tuần đầu tiên của năm. Nếu tham số này bị bỏ qua, nó giả định rằng tuần có chứa ngày 1 tháng 1 là tuần đầu tiên của năm.
Ví dụ:
Mã:
Sub FORMAT_Date_Fn()
Debug.Print Format(#10/16/2021#, "Medium Date") 'Ket qua: 16 Oct 2021
Debug.Print Format(Date, "dd/mm/yyyy") 'Ket qua: 16/10/2021
End Sub
Hour(Time) As Integer
Trả về số giờ (một số từ 0-23) của thời gian đưa vào.
Ví dụ:
Mã:
Sub HOUR_Fn()
Debug.Print Hour(Time)
Debug.Print Hour("4:42:58 PM") 'Result: 16
End Sub
Minute(Time) 'As Integer
Trả về số phút (một số từ 0-59) của thời gian đưa vào.
Ví dụ:
Mã:
Sub MINUTE_Fn()
Debug.Print Minute(Time)
Debug.Print Minute("4:42:58 PM") 'Result: 42
End Sub
Month(Date) 'As Integer
Trả về tháng (một số từ 1-12) của giá trị ngày đưa vào.
Ví dụ:
Mã:
Sub MONTH_Fn()
Debug.Print MONTH(Date)
Debug.Print MONTH(#8/20/2017#)
End Sub
MonthName(Month As long, [Abbreviate As Boolean = False]) 'As String
Trả về một chuỗi đại diện cho tháng được cho một số từ 1 đến 12
Month: Một số từ 1-12 đại diện cho một tháng trong năm
Abbreviate: Không bắt buộc. Tham số thuộc kiểu giá trị Boolean, hoặc TRUE hoặc FALSE. Nếu chọn TRUE, thì tên tháng được viết tắt. Nếu chọn FALSE, tên tháng không viết tắt.
Ví dụ:
Mã:
Sub MONTHNAME_Fn()
Debug.Print MonthName(8) 'August
Debug.Print MonthName(8, True) 'Aug
End Sub
Now 'As Date
Trả lại ngày, giờ hiện tại của hệ thống.
Ví dụ:
Mã:
Sub NOW_Fn()
Debug.Print Now
End Sub
TimeSerial(Hour As Integer, Minute As Integer, Second As Integer) 'As Date
Trả về thời gian ứng với giá trị giờ, phút và giây đưa vào.
Ví dụ:
Mã:
Sub TIMESERIAL_Fn()
Debug.Print TimeSerial(16, 30, 22)
'Result: "4:30:22 PM"
End Sub
TimeValue(Time As String) 'As Date
Trả về trị số thời gian của một thời gian ở dạng chuỗi.
Ví dụ:
Mã:
Sub TIMEVALUE_Fn()
Dim vTime As Date
vTime = TimeValue("10:25:46 AM")
Debug.Print vTime
End Sub
Weekday(Date, [FirstDayOfWeek As VbDayOfWeek = vbSunday]) 'As Integer
Trả về một số đại diện cho ngày trong tuần tương ứng với ngày xét.
Date: Ngày đưa ra để xét
FirstDayOfWeek: Không bắt buộc. Là một hằng số xác định ngày đầu tiên trong tuần. Nếu tham số này bị bỏ qua, nó giả định rằng chủ nhật là ngày đầu tiên của tuần.
Giá trị | Chú thích |
vbUseSystemDayOfWeek | Returns a number from 1 to 7 and uses your system settings to determine the first day of the week |
vbMonday | Returns a number from 1 (Monday) to 7 (Sunday). |
vbTuesday | Returns a number from 1 (Tuesday) to 7 (Monday). |
vbWednesday | Returns a number from 1 (Wednesday) to 7 (Tuesday). |
vbThursday | Returns a number from 1 (Thursday) to 7 (Wednesday). |
vbFriday | Returns a number from 1 (Friday) to 7 (Thursday). |
vbSaturday | Returns a number from 1 (Saturday) to 7 (Friday). |
vbSunday | Returns a number from 1 (Sunday) to 7 (Saturday). |
Mã:
Sub WEEKDAY_Fn()
Dim LwDay As Integer
LwDay = Weekday("04/08/2017", vbSunday)
Debug.Print LwDay 'Result: 6
End Sub
WeekdayName(Weekday As Long, [Abbreviate As Boolean = False], [FirstDayOfWeek As VbDayOfWeek = vbUseSytemDayOfWeek]) 'As String
Trả về một chuỗi đại diện cho ngày trong tuần ứng với số từ 1 đến 7
Weekday: một số ứng với ngày trong tuần, từ số 1 -7
Abbreviate: Không bắt buộc. Tham số thuộc kiểu giá trị Boolean, hoặc TRUE hoặc FALSE. Nếu chọn TRUE, thì tên ngày được viết tắt. Nếu chọn FALSE, tên ngày không viết tắt.
FirstDayOfWeek: Không bắt buộc. Là một hằng số xác định ngày đầu tiên trong tuần. Nếu tham số này bị bỏ qua, nó giả định rằng chủ nhật là ngày đầu tiên của tuần.
Ví dụ:
Mã:
Sub WEEKDAYNAME_Fn()
Dim sDayName As String
sDayName = WeekdayName(1, False, vbSunday)
'Result: sDayName = "Sunday"
End Sub
Year(Date) 'As Integer
Trả về trị số năm có bốn chữ số (một số từ năm 1900 đến 9999) ứng với ngày đang xét.
Ví dụ:
Mã:
Sub YEAR_Fn()
Dim vYear As Integer
vYear = Year("15/08/2017")
'Result: vYear = 2017
End Sub
Sửa lần cuối: