View comments | RSS feed

DateConvert

Description

Converts local time to Coordinated Universal Time (UTC), or UTC to local time. The function uses the daylight savings settings in the executing computer to compute daylight savings time, if required.

Returns

UTC- or local-formatted time object.

Category

Date and time functions

Function syntax

DateConvert("conversion-type", "date")

See also

GetTimeZoneInfo, CreateDateTime, DatePart

Parameters

Parameter Description

conversion-type

  • local2Utc: Converts local time to UTC time.
  • utc2Local: Converts UTC time to local time.

date

Date and time string or a variable that contains one.

To create, use CreateDateTime.

Usage

When passing a date/time object as a string, you must enclose it in quotation marks. Otherwise, it is interpreted as a numeric representation of a date/time object.

Note: You can pass the CreateDate or Now function as the date parameter of this function; for example: #DateConvert(CreateDate(2001, 3, 3))#

Example

<h3>DateConvert Example</h3>
<!--- This shows conversion of current date - time to UTC and back. --->
<cfset curDate = Now()>
<p><cfoutput>The current date and time: #curDate#. </cfoutput></p>
<cfset utcDate = DateConvert("local2utc", curDate)>
<cfoutput>
   <p>The current date and time converted to UTC time: #utcDate#.</p> 
</cfoutput> 
<!--- This code checks whether form was submitted. If so, the code generates 
the CFML date with the CreateDateTime function. ---> <cfif IsDefined("FORM.submit")> <cfset yourDate = CreateDateTime(FORM.year, FORM.month, FORM.day,
FORM.hour,FORM.minute, FORM.second)> <p><cfoutput>Your date value, presented as a ColdFusion date/time
string:#yourdate#.</cfoutput></p> <cfset yourUTC = DateConvert("local2utc", yourDate)> <p><cfoutput>Your date and time value, converted to Coordinated Universal Time
(UTC): #yourUTC#.</cfoutput></p> <p><cfoutput>Your UTC date and time, converted back to local date and time:
#DateConvert("utc2local", yourUTC)#.
</cfoutput></p> <cfelse> Type the date and time, and press Enter to see the conversion. </cfif> <Hr size = "2" color = "#0000A0"> <form action = "dateconvert.cfm"> <p>Enter year, month and day in integer format for date value to view: <table cellspacing = "2" cellpadding = "2" border = "0"> <tr> <td>Year</td> <td><input type = "Text" name = "year" value = "1998"
validate = "integer" required = "Yes"></td></tr> <tr> <td>Month</td> <td><input type = "Text" name = "month" value = "6"
range = "1,12" message = "Enter a month (1-12)"
validate = "integer" required = "Yes"></td></tr> <tr> <td>Day</td> <td><input type = "Text" name = "day" value = "8"
range = "1,31"
message = "Enter a day of the month (1-31)"
validate = "integer" required = "Yes"></td></tr> <tr> <td>Hour</td> <td><input type = "Text" name = "hour" value = "16"
range = "0,23"
message = "You must enter an hour (0-23)"
validate = "integer" required = "Yes"></td></tr> <tr> <td>Minute</td> <td><input type = "Text" name = "minute" value = "12"
range = "0,59"
message = "You must enter a minute value (0-59)"
validate = "integer" required = "Yes"></td></tr> <tr> <td>Second</td> <td><input type = "Text" name = "second" value = "0"
range = "0,59"
message = "You must enter a value for seconds (0-59)"
validate = "integer" required = "Yes"></td></tr> <tr> <td><input type = "Submit" name = "submit" value = "Submit"></td> <td><input type = "RESET"></td></tr> </table>

ColdFusion 9 | ColdFusion 8 | ColdFusion MX 7 | ColdFusion MX 6.1 | ColdFusion MX | Forums | Developer Center | KnowledgeBase | Bug Reporting

Version 7

Comments


MaestroFJP said on Jul 19, 2006 at 6:29 PM :
FYI, DateConvert does not properly compensate for daylight saving when converting from local to UTC or vice-versa. This is not expected behavior.

I would expect that when we "spring" forward in the spring (US timezones), that DateConvert would compensate when translating local2UTC. However, the UTC result ends up being 1 hour ahead of the correct UTC time. Due to this mis-calculation, the usefulness of this function is pretty much useless.

The only work around is to run your server in the UTC timezone or a timezone that does not observe daylight saving. Not optimal for people who do not run there own server - especially when the function could be fixed.

I have filed a bug report since MX6 but it appears that this bug will never get fixed.

 

RSS feed | Send me an e-mail when comments are added to this page | Comment Report

Current page: http://livedocs.adobe.com/coldfusion/7/htmldocs/00000439.htm