001 /** 002 * Implements the CFML Function createdatetime 003 */ 004 package railo.runtime.functions.dateTime; 005 006 import java.util.TimeZone; 007 008 import railo.commons.date.DateTimeUtil; 009 import railo.commons.date.TimeZoneUtil; 010 import railo.runtime.PageContext; 011 import railo.runtime.exp.ExpressionException; 012 import railo.runtime.ext.function.Function; 013 import railo.runtime.type.dt.DateTime; 014 015 public final class CreateDateTime implements Function { 016 017 public static DateTime call(PageContext pc , double year, double month, double day, double hour, double minute, double second) throws ExpressionException { 018 return _call(pc,year,month,day,hour,minute,second,0,pc.getTimeZone()); 019 } 020 public static DateTime call(PageContext pc , double year, double month, double day, double hour, double minute, double second,double millis) throws ExpressionException { 021 return _call(pc,year,month,day,hour,minute,second,millis,pc.getTimeZone()); 022 } 023 public static DateTime call(PageContext pc , double year, double month, double day, double hour, double minute, double second,double millis,String strTimezone) throws ExpressionException { 024 return _call(pc,year,month,day,hour,minute,second,millis,strTimezone==null?pc.getTimeZone():TimeZoneUtil.toTimeZone(strTimezone)); 025 } 026 private static DateTime _call(PageContext pc , double year, double month, double day, double hour, double minute, double second,double millis,TimeZone tz) throws ExpressionException { 027 return DateTimeUtil.getInstance().toDateTime(tz,(int)year,(int)month,(int)day,(int)hour,(int)minute,(int)second,(int)millis); 028 } 029 }