public DateTime(Context ctx, string time, DateTimeZone timezone)
{
Debug.Assert(ctx != null);
_ctx = ctx;
if (timezone == null)
{
TimeZone = PhpTimeZone.GetCurrentTimeZone(ctx);
}
else
{
//var datetimezone = timezone as DateTimeZone;
//if (datetimezone == null)
//{
// PhpException.InvalidArgumentType("timezone", "DateTimeZone");
// TimeZone = PhpTimeZone.CurrentTimeZone;
//}
//else
{
TimeZone = timezone.timezone;
}
}
if (TimeZone == null)
{
//PhpException.InvalidArgument("timezone");
//return null;
throw new ArgumentException();
}
this.Time = StrToTime(time, System_DateTime.UtcNow);
//this.date.Value = this.Time.ToString("yyyy-mm-dd HH:mm:ss");
//this.timezone_type.Value = 3;
//this.timezone.Value = TimeZone.Id;
}