Date Time Functions In Visual Basic

Level:
Level2
Learn how to use the time and date functions in Visual Basic. This VB6 tutorial introduces you to the basics of these functions.

Written By TheVBProgramer.

$ReqTestHarness$

Recall the VB keywords that reference the current date and/or time:

 

Now Returns the current date and time together

Date Returns the current date

Time Returns the current time

 

For the examples that follow, assume that the current Date/Time (Now) is Friday, August 31, 2001 at 9:15:20 PM.

 

The following functions isolate the date portion and time portion, respectively, of a Date/Time value:

 

Function

Description

DateValue

Returns the date portion of a Date/Time value, with the time portion "zeroed out". (Note: When the time portion of a date/time variable is "zeroed out", the time would be interpreted as 12:00 AM.)

 

Example:

 

Dim dtmTest As Date

dtmTest = DateValue(Now)

 

At this point, the date portion of dtmTest is 8/31/2001, with a time portion of 0 (12:00 AM midnight).

 

TimeValue

Returns the time portion of a Date/Time value, with the date portion "zeroed out". (Note: When a date/time variable is "zeroed out", the date will actually be interpreted as December 30, 1899.)

 

Example:

 

Dim dtmTest As Date

dtmTest = TimeValue(Now)

 

At this point, the time portion of dtmTest is 9:15:20 PM, with a date portion of 0 (12/30/1899).

 

 

The following functions are used to isolate a particular part of a date:

 

Function

Description

Weekday

Returns a number from 1 to 7 indicating the day of the week for a given date, where 1 is Sunday and 7 is Saturday.

 

Example:

intDOW = Weekday(Now) ' intDOW = 6

 

Note:

When necessary to refer to a day of the week in code, VB has a set of built-in constants that can be used instead of the hard-coded values 1 thru 7:

Constant Value

vbSunday 1

vbMonday 2

vbTuesday 3

vbWednesday 4

vbThursday 5

vbFriday 6

vbSaturday 7

 

 

Function

Description

WeekdayName

Returns a string containing the weekday name ("Sunday" thru "Saturday"), given a numeric argument with the value 1 through 7.

 

Example:

strDOW = WeekdayName(6) ' strDOW = "Friday"

 

The WeekdayName function takes an optional, second argument (Boolean) indicating whether or not to abbreviate the weekday name. By default, the second argument is False, meaning do not abbreviate and return the full name. If True, the first three letters of the weekday name will be returned:

 

Example:

strDOW = WeekdayName(6, True) ' strDOW = "Fri"

 

You can nest the Weekday function within the WeekdayName function to get the weekday name for a given date:

 

Example:

strDOW = WeekdayName(Weekday(Now)) ' strDOW = "Friday"

Month

Returns a number from 1 to 12 indicating the month portion of a given date.

 

Example:

intMonth = Month(Now) ' intMonth = 8

 

MonthName

Returns a string containing the month name ("January" thru "December"), given a numeric argument with the value 1 through 12.

 

Example:

strMoName = MonthName(8) ' strMoName = "August"

 

The MonthName function takes an optional, second argument (Boolean) indicating whether or not to abbreviate the month name. By default, the second argument is False, meaning do not abbreviate and return the full name. If True, the first three letters of the month name will be returned:

 

Example:

strMoName = MonthName(8, True) ' strMoName = "Aug"

 

You can nest the Month function within the MonthName function to get the month name for a given date:

 

Example:

strMoName = MonthName(Month(Now)) ' strMoName = "August"

 

Day

Returns a number from 1 to 31 indicating the day portion of a given date.

 

Example:

intDay = Day(Now) ' intDay = 31

 

Year

Returns a number from 100 to 9999 indicating the year portion of a given date.

 

Example:

intYear = Year(Now) ' intYear = 2001

 

 

The following functions are used to isolate a particular part of a time:

 

Function

Description

Hour

Returns an integer specifying a whole number between 0 and 23 representing the hour of the day.

 

Example:

intHour = Hour(Now) ' intHour = 21 (for 9 PM)

 

Minute

Returns an integer specifying a whole number between 0 and 59 representing the minute of the hour.

 

Example:

intMinute = Minute(Now) ' intMinute = 15

 

Second

Returns an integer specifying a whole number between 0 and 59 representing the second of the minute.

 

Example:

intSecond = Second(Now) ' intSecond = 20

 

 

To demonstrate the date functions shown thus far, set up a "Try It" project, and place the following code in the cmdTryIt_Click event:

 

Private Sub cmdTryIt_Click()

 

Print "Now:"; Tab(30); Now

Print "Using DateValue:"; Tab(30); DateValue(Now)

Print "Using TimeValue:"; Tab(30); TimeValue(Now)

Print "Using Weekday:"; Tab(30); Weekday(Now)

Print "Using WeekdayName:"; Tab(30); WeekdayName(Weekday(Now))

Print "Using WeekdayName (abbrev.):"; Tab(30); WeekdayName(Weekday(Now), True)

Print "Using Month:"; Tab(30); Month(Now)

Print "Using MonthName:"; Tab(30); MonthName(Month(Now))

Print "Using MonthName (abbrev.):"; Tab(30); MonthName(Month(Now), True)

Print "Using Day:"; Tab(30); Day(Now)

Print "Using Year:"; Tab(30); Year(Now)

Print "Using Hour:"; Tab(30); Hour(Now)

Print "Using Minute:"; Tab(30); Minute(Now)

Print "Using Second:"; Tab(30); Second(Now)

 

End Sub

 

Run the project and click the "Try It" button. The output should look similar to the following:

 

 

 

Download the VB project code for the example above here.

 

 

The DatePart Function

 

The generic DatePart function returns an Integer containing the specified part of a given date/time value. Thus, it incorporates the functionality of the Weekday, Month, Day, Year, Hour, Minute, and Second functions. In addition, it can used to get the quarter of a given date (1 through 4) , the "Julian" date (the day of the year from 1 to 366), and the week number (1 through 53).

 

Syntax:

DatePart(interval, date[,firstdayofweek[, firstweekofyear]])

 

The DatePart function syntax has these parts:

 

Part

Description

interval

Required. String expression that is the interval of time you want to return.

 

The string expression can be any of the following:

 

Expression

Description

Possible Range of Values

"yyyy"

Year

100 to 9999

"q"

Quarter

1 to 4

"m"

Month

1 to 12

"y"

Day of year

1 to 366 (a "Julian" date)

"d"

Day

1 to 31

"w"

Weekday

1 to 7

"ww"

Week

1 to 53

"h"

Hour

0 to 23

"n"

Minute

0 to 59

"s"

Second

0 to 59

date

Required. Date value that you want to evaluate.

 

firstdayofweek

Optional. A constant that specifies the first day of the week. If not specified, Sunday is assumed.

 

firstweekofyear

Optional. A constant that specifies the first week of the year. If not specified, the first week is assumed to be the week in which January 1 occurs.

 

 

To demonstrate DatePart, set up a "Try It" project, and place the following code in the cmdTryIt_Click event:

 

Private Sub cmdTryIt_Click()

Print "Current date/time is: "; _

Format$(Now, "Long Date"); _

Spc(1); _

Format$(Now, "Long Time")

Print "*** DatePart Function Examples ***"

Print "Using 'yyyy':"; Tab(20); DatePart("yyyy", Now)

Print "Using 'q':"; Tab(20); DatePart("q", Now)

Print "Using 'm':"; Tab(20); DatePart("m", Now)

Print "Using 'y':"; Tab(20); DatePart("y", Now)

Print "Using 'd':"; Tab(20); DatePart("d", Now)

Print "Using 'w':"; Tab(20); DatePart("w", Now)

Print "Using 'ww':"; Tab(20); DatePart("ww", Now)

Print "Using 'h':"; Tab(20); DatePart("h", Now)

Print "Using 'n':"; Tab(20); DatePart("n", Now)

Print "Using 's':"; Tab(20); DatePart("s", Now)

 

End Sub

 

 

Run the project and click the "Try It" button. The output should look similar to the following:

 

 

 

 

Download the VB project code for the example above here.

 

 

Piecing Separate Numbers Together to Form a Date or Time Value

 

In the previous examples, we saw ways to isolate parts of a date/time value. What if you need to go the "other way"? If you have the separate parts of a date/time value in different variables and want to piece them together to formulate a date or time, there are two functions you can use to do this: DateSerial and TimeSerial.

 

The DateSerial takes three numeric arguments: year, month, and day respectively. It returns a date based on those values.

Example:

 

Dim intYear As Integer

Dim intMonth As Integer

Dim intDay As Integer

Dim dtmNewDate As Date

 

intYear = 2001

intMonth = 9

intDay = 2

 

dtmNewDate = DateSerial(intYear, intMonth, intDay)

' returns 9/2/2001

 

The TimeSerial takes three numeric arguments: hour, minute, and second respectively. It returns a time based on those values.

Example:

 

Dim intHour As Integer

Dim intMinute As Integer

Dim intSecond As Integer

Dim dtmNewTime As Date

 

intHour = 11

intMinute = 34

intSecond = 44

 

dtmNewTime = TimeSerial(intHour, intMinute, intSecond)

'returns 11:34:44 (AM)

Help me please

hello can some one give me a code for my problem?
i need to view all the months and dates in a list box when clicking the command button.

like this:

January 1 monday
january 2 tuesday
january 3 wednesday
january 4 thursday
january 5 friday
january 6 saturday
january 7 sunday
january 8 monday
.
.
.
and so on...
i have tried the code
private sub command1_click()
list1.show
list1.print "January 1 monday"
end_sub

still have an error
but if i put
form1.print "January 1 monday"
it works..
but i need is to show all dates in list box, not in the form thanks.

How to create a visual basics

How to create a visual basics please help me.

should I put the word month day yr age and hrs in general form?

3 command buttons

command 1 for clear
command 2 for solve
command 3 for exit

5 label and text box

for
age
month
day
hour
year

so do you have any formula with this usng vb6?

and what should I put in the form load after all this stuff?

How to set Null value for Time Datatype in vb 6.0

In my Project in VB 6.0 i am make a Database in Access and i set Data-type is Date/Time i can't set NULL value for that,if i set 00:00:00 means it taken 12.00.00 AM.How do i set NULL Value or 00.00.00 for that can u help me please?

Day identifier?

please help I'm only 4th year high school..
I need a code in vb 6 which will identify the day when you enter a date O.O

Time Difference

How to check the time duration of two variable times?

TimeElapsed = DateDiff("s",

TimeElapsed = DateDiff("s", CmprTime1, Now)

Compare the difference in Seconds from current time "Now" and the time and date value stored in "CmprTime1"
I use this in a timer to determine elapsed time

'========= SAMPLE ============
Dim CmprTime1 As Date
Dim TimeElapsed As Double

If Not CaptureOnce Then
CmprTime1 = Now
CaptureOnce = True
Else
TimeElapsed = DateDiff("s", CmprTime1, Now) 'time difference will be returned in seconds
End If

i am creating a library

i am creating a library management software for that i want to insert
issue date and return date of a book.
how to do that????????????????

time in vb

what is the difference b/w time and time$

How to convert months to Quarters

Please help me to convert months to Quarters
Example 1,2,3 = Q1
4,5,6, =Q2
7,8,9 = Q3
10,11,12 = Q4

visual proggraming

how can i make a program in visual programming that will determine the age based on the given birthday?
and how can i make a program in visual programming that will determine the permanency date and retirement date given the birthday and the hire date
and also given is permanency date is after 6 months and the retirement date is until he reaches 65 years old

VB6 previous Date,month,year code

Hi
How to find out previous date,month,year from the system's date time in VB6? Plz reply to send code of it.

how to make alogin logout

how to make alogin logout system that will record the timeyou in and time youout
?

DTPucker control

Good Day!

Hello, i am using a DTPicker for a date.
Example: February 23,2011.
How can i separate the Month, Date and Year of the value of the DTPicker in 3 textboxes?
Your reply would be very much appreciated.

dtpicker

Dim d As Int16 = DateTimePicker1.Value.Day
Dim m As Int16 = DateTimePicker1.Value.Month
Dim y As Int16 = DateTimePicker1.Value.Year

You may use the vb 6 built in

You may use the vb 6 built in function of getting the month, day, and year and pass the datepicker value to it.
Or you can utilize the datepicker method of getting the value respectively. Use the member access operator (.) to access its method.
Hope this would help you.

Separating DTPicker month, day, year

The following should do the trick for you:

Text1=DTPicker.Month
Text2=DTPicker.Day
Text3=DTPicker.Year

how to make a flowchart to

how to make a flowchart to appear the zodiac signs?what about their visual basic codes used?

Difference between two dates

Hi
i am trying to develop a library automation system but i have a problem
i can't find the difference between two dates
in which one is a Field from Access Database(Data Type: Date/Time) and the other one is the variable which specifies the present date
and the error msg shows "Data Type mismatch"

Pls Help..............

Difference between two dates

use # before the date in SQL Query

select * FROM Table where dateoftoday=#" & datevariable & "#

Back up files code and how can i burn the back up files in CD

Hi sir/ madam ,

i need help can i have your code for back files ? how can i do that what are the steps pls help me
Back up files code and how can i burn the back up files in CD or in Flash disk....

thank you

setting day-month-year value

How do I change programmatically the day, month or year value, of a date variable.
What is need is to inversely do a day(), month() or year() function to a date value.

vb

how to retrieve certain record from the table

which table?

which table?

Date and Time

How do I program in visual basic 2010 the Date and Time that looks like this in this format - Sunday January 1, 2010 12:00 AM.

If any one can help that would be great.

this page is about vb6.

this page is about vb6.

Overdue

Sir,

I am making a library system and I need some source code for computing the overdue. The fine is P5.00 a day. How about if the issuance exceeds a month. what could be the code...? Pls... help me...

yeah.

lol?

overtime and total hours calculation in vb

how do i get my system (which clocks you in when you enter the password and clocks you out later when you enter the same password) to calculate the total hours worked by someone and their overtime as well given that the normal working hours is 8 hours?

cheap...

store the datetime-value on login. subtract this value from the logout time. if you subtract 8 hours from the total time you have the overtime.

Average of Time

I need code to excute the avrage to two times & to display the average time

Example :

time1 = 00:22:36 = 1320sec
time2= 00:49:59 = 2999Sec
time3= 00:12:22 = 742Sec

total time = 5039Sec Approx 25min 19Sec

Where is the problem?

Take calculate the seconds from the hours and from the minutes and add them to the seconds. With the seconds you calculate the intersection.

hours = seconds \ 3600
remain = seconds Mod 3600
minutes = remain \ 60
seconds = remain Mod 60

Need to start timer with Time 00:00:00

I want to display Time starting form 00:00:00
i can use Timer but unable to display the time starting from 00:00:00

why?

where is the problem?

time

i need coding for start time with 00:00:00 in vb 6.0

show current date and time in the form

please ...... help me in coding the timer
when the form display i want the current date and time in the label.
I can't get it.

label1.text=CStr(TimeOfDay)
where it has to put ?????.]

please help me please

just type in the form

just type in the form load

label.capton=date
label.caption=time

CPU TIME

how do I can culculate CPU Time in VB?????????????????
Please help me.

Date Range

I have a hire date (mm/dd/yyyy) in a CR and want to select a range of dates based only on the month/day - need help on creating the formula that I can use in my parameter field.

time

i want to get details from db from particular time to time...... please kindly someone help...need codings

a example of a visual basic

a example of a visual basic 6.0 by coding.

how to get date value in oracle table to vb msflexgrid control

Hi dudes,
pls let me know how to get the value of one column in oracle which is declared as date data type, to visual basic......

help

What is wrong with this part in my programming where the goal is to find all data between 2 different datums only if two datums is write opposite to show the data only for first datum?

Private Sub Search_Click()
Dim sql As String
Dim i As Integer
i = 0
sql = "select * from ime_na_tabela where "

If Not IsNull([Datums]) And IsNull([datumss]) Then
If i > 0 Then
sql = sql & " and Datum like " & "#" & [Datums] & "#"
Else
sql = sql & " Datum like " & "#" & [Datums] & "#"
End If
i = i + 1
End If

If Not IsNull([Datums]) And Not IsNull([datumss]) Then
If i > 0 Then
sql = sql & " and Datum between " & "#" & [Datums] & "#" And "#" & [datumss] & "#"
Else
sql = sql & " Datum between " & "#" & [Datums] & "#" And "#" & [datumss] & "#"
End If
i = i + 1
End If

Solving days of month

Kindly assist,
I'm busy with a system where by it is changing month everything the is suppose to but when it changes to month with 31s like July from June the 30 it still keeps the day to 30 July instead of 31 of July, ckinldy assist with a code to change the day as well please.

You assistance is highly appreciated.

M

here's how i did it for my

here's how i did it for my payroll system:

txtmoss.Text = Format(Date, "mmmm")
txtyear.Text = Format(Date, "yyyy")

If Format(Date, "dd") <= 15 Then
txtdaterange.Text = "1 - 15"
Else
If txtmoss.Text = "January" Or txtmoss.Text = "March" Or txtmoss.Text = "May" Or txtmoss.Text = "July" Or txtmoss.Text = "August" Or txtmoss.Text = "October" Or txtmoss.Text = "December" Then
txtdaterange.Text = "16 - 31"
Else
txtdaterange.Text = "16 - 30"
End If
End If

lblpaydate.Caption = txtmoss + " " + txtdaterange + ", " + txtyear

i hope you get the logic from this code.email me if you have any questions.

Hi how to find the latest Date from Date series

Hi Friends Can you please helpme here

how to find the latest Date from Date series
eg: 1-Jun 2-Jun 3-Jun 4-Jun 5-Jun respectively ..in excel
by writing code in VB how do i find the latest date from this series.

Thanks

design and coding for an internet cafe clock program

plz help me toward building a system for an internet cafe,im in veri much nid of codes for a clock program...
thanx!!

Change Date And Time

Is There a way to change my date?

i want to change my day from Xday to Yday...

Is It Possible?

Please help!

To change Date You can use

To change Date You can use DTpicker (DateTimepicker) . To add it Go to Projects --> Components --> Microsoft Windows Common Controls-2 6.0(SP6) . The date on which you click is picked to DTpicker.value . Then you can use it in your VB code.

backup

Hii friends..
i hav a problem in VB while tacking backup ie i need to display the time of the backup in the file, my code is
Private Sub Command1_Click()

FileCopy "G:\Muthu\1\example.txt", "G:\Muthu\2\example" & Date$ & ".txt"
MsgBox "Backup Complete!!"

End Sub
This code displays me the date in the backup file but doesn't show me the time, i've tried many time formats but not supporting .
pls help me.its urgent..
Thanx....

Thank you!

Thank you
Have a nice weekend!
Rodrigo H.

help

how can get datas from database with crystal report using date values between two dates

FOR VB CODING

to subtract the given maximum time from the elapsed time in runtime continuously
PLEASE HELP ME...........................!

dim dt as date private sub

dim dt as date
private sub yourtime()
Timer1.Interval = 1000
Timer1.Enabled = True
dt=yourtimeinput
endsub

Private Sub Timer1_Timer()
Label1.Caption = DateAdd("s", -1, dt)
dt = Label1.Caption
end sub
try this logic

End Sub

FOR VB CODING

to count elapsed time and to subtract that elapsed Time from the maximum time in VB 6.0

PLEASE HELP ME..........!

how create password

Design a program to create a password check. If user enters more than 3 times wrongly, the system will be blocked, when you click save button at 2nd form, from 3 will be displayed and view all the information that you just keyed in form 2.. so please help me........

how create password

how to create password in visual basic 6.0 that when user enter password three times , the system will be block.. i also want to ask when When i click save button at 2nd form, form 3 will be displayed and view all the information that you just keyed in form 2... help me....

time in time out

to whome it may concern,
Can you help me build a simple time in time out program?
thanks

NEED SOME HELP COMPARING DATES

So what I'm working on is a inventory system and I would like to have the user fill in a database and after its filled I would like to notify the user if an item is expired. Basically compare today's date with the inputed date, and if the expired date is earlier than today's date then the product is expired, else it's not expired.

Any help is greatly appreciated.

Reply to "NEED SOME HELP COMPARING DATES"

Hope this will help http://support.microsoft.com/kb/116281

Hope this will help

Hope this will help http://support.microsoft.com/kb/116281

using Date time

I have too many questions in vb 6.
and will ask one by one

how to make condition on time .
Q.. I am developing a program for library. and I faced problem in date function. I want to provide extra fees when a student gives or return the book after given return date. for eg: his/her return date for book is 28/2/10 . but he/she return the book after that. so how to solve this . plz make it clear..

error 3251

I am getting error 3251

error text as :"current record set does not support updating. This may be limitation of provider or the selected lock type;

code in module
public adodbcon as new adodb.connection
public adors as new adodb.recordset

code for opening connection
public sub aopnadoconnection()
If adodbcon.State = adStateOpen Then
adodbcon.Close
End If

adodbcon.Provider = "Microsoft.Jet.OLEDB.3.51"
adodbcon.Mode = adModeReadWrite
adodbcon.CursorLocation = adUseClient
adodbcon.Open App.Path & "\db3.mdb"
If adodbcon.State = adStateClosed Then
adodbcon.Open
End If
end sub
;------------------------------------------------------
code for opening record set
public sub openadorecordest()
If adors.State = adStateOpen Then
adors.Close
End If
adors.CursorType = adOpenKeyset
adors.LockType = adLockOptimistic
adors.CursorLocation = adUseClient

Set adors = adodbcon.Execute(SOURCE)

code for adding new record
OPENRECORDSET "SELECT * FROM MODEL WHERE MODEL='" & CBOMODEL & "'"
If adors.RecordCount Then
'MsgBox "MODEL ALREADY EXISTS"
'Exit Sub
adors.MoveFirst
End If
With adors
.AddNew "txtmodel", TXTMODEL
.Fields("MODEL") = TXTMODEL
.Update
End With
end sub

topic?

has this ANYTHING to do with date or time?

time difference

hi guys
how to solve the time difference in hours and minutes using sql...?
example given

time_in = 07:30 AM
time_out = 5:02 PM

thank you..!!!

how to solve the time

how to solve the time difference in hours and minutes and seconds

Adding long integer

Hello Guys,

Please help me...
I want to add the long integers with decimal points including the negative integers.
I want to display the result on the database using cyrstal report. please help.
example:
188,159,159.58 (this is day 1)
189,156,123.23 (day 2)
156.23 (day 3)
-158,123,898.02 (day 4)
- 156,589.23 (day 5)

Thanks!

\(

thanks

thanks

thank you very much

thank you very much

Change PM or AM

Dear All,.

How change PM or AM??
Please Help Me.....

Thank's

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options