Displaying Time in Different Time Zones

Displaying Time in Different Time Zones

Question:

I have seen an easy way to increase any given portion of NOW(), but it was months ago and I can’t find it again. What I want to accomplish is to display the current time for California, New York and France ( as 9:27 AM or 4:15 PM [no 0’s]).I could disassemble, increase, and reassemble, but the code seems a bit overkill. Is there a function to simply increase the hour by 3 and 9?

Answer:

You can use the DateAdd function to add the number of hours you need to any time to get a future or past time. In addition, you can also use the FormatDateTime function to format your date appropriately.

The DateAdd function adds a specified time interval to a date/time value.

DateAdd(interval, number, date)

To add 3 hours to a date in a variable strDateTime, use this code:

   DateAdd("h", 3, strDateTime)

The “h” signifies hours, and the 3 indicates the number of hours to add. To subtract, use a negative value.

The FormatDateTime function returns a date/time value appropriately formatted.

   FormatDateTime(Date[, NamedFormat])

For our purpose, we will be using the NamedFormats vbLongTime (3) or vbShortTime (4).

If you use the code:

   FormatDateTime(Now(),3)

you will obtain something like this:

   2:59:16 PM

On the other hand, if you use the following code:

   FormatDateTime(Now(),4)

you will obtain:

   14:59

You can use all this knowledge to solve your particular problem.

Your question actually consists of two parts:

  1. How do I show time for CA, NY (+3) and FR (+9)
  2. How do I show time as 9:27 AM (without seconds)

1. To show time for CA, NY and FR (assuming your web server is in CA), use the following code:

Dim strDateTime' -- Get Current CA time, Format = Long TimestrDateTime = FormatDateTime(Now(),3)' -- output itResponse.write "CA Time = " & strDateTime & "
"' -- Add 3 hours to get NY time, and Format itstrDateTime = FormatDateTime(DateAdd("h",3,strDateTime),3)' -- output NY TimeResponse.write "NY Time = " & strDateTime & "
"' -- Add 6 hours to get FR time, (remember we ' -- already added 3 hours before), and format itstrDateTime = FormatDateTime(DateAdd("h",6,strDateTime),3)' -- output FR timeResponse.write "FR Time = " & strDateTime & "
"

The above code would result in three lines as follows:

CA Time = 3:09:21 PMNY Time = 6:09:21 PMFR Time = 12:09:21 AM

2. To show time without seconds (whether using for this purpose or for any other purpose), simply write a small routine that would properly format the time. Create this function and place it appropriately within your ASP file (I prefer to keep it in a common library of routines ASP file, and include the file when needed).

Function FormatTheTime(byval s)	dim h, m	h = left(s, instr(s,":")-1)	m = mid(s, instr(s,":")+1)	If Int(h) > 12 Then		s = Int(h) - 12 & ":" & m & " PM"	Else		s = s & " AM"	End if	FormatTheTime = sEnd Function

As you can see, this function takes a 24-hour format value and returns a value back with either AM or PM appended to it.

Then, modify our previous code to use a 24-hour format and call this function before outputting the value:

Dim strDateTime' -- Get Current CA time, Format = Short TimestrDateTime = FormatDateTime(Now(),4)' -- output it, calling our special functionResponse.write "CA Time = " & FormatTheTime(strDateTime) & "
"' -- Add 3 hours to get NY time, and Format itstrDateTime = FormatDateTime(DateAdd("h",3,strDateTime),4)' -- output NY Time, calling our special functionResponse.write "NY Time = " & FormatTheTime(strDateTime) & "
"' -- Add 6 hours to get FR time, (remember we ' -- already added 3 hours before), and format itstrDateTime = FormatDateTime(DateAdd("h",6,strDateTime),4)' -- output FR time, calling our special functionResponse.write "FR Time = " & FormatTheTime(strDateTime) & "
"

And this time, you should see:

CA Time = 3:09 PMNY Time = 6:09 PMFR Time = 00:09 AM

Share the Post:
data observability

Data Observability Explained

Data is the lifeblood of any successful business, as it is the driving force behind critical decision-making, insight generation, and strategic development. However, due to its intricate nature, ensuring the

Heading photo, Metadata.

What is Metadata?

What is metadata? Well, It’s an odd concept to wrap your head around. Metadata is essentially the secondary layer of data that tracks details about the “regular” data. The regular