internal static String DateToString(double utcTime){
if (Double.IsNaN(utcTime)) return "NaN";
StringBuilder result = new StringBuilder();
double localTime = LocalTime(utcTime);
result.Append(WeekDayName[WeekDay(localTime)]);
result.Append(" ");
int month = MonthFromTime(localTime);
result.Append(MonthName[month]);
result.Append(" ");
result.Append(DateFromTime(localTime));
result.Append(" ");
AppendTime(localTime, result);
result.Append(" ");
result.Append(TimeZoneID(utcTime));
result.Append(" ");
result.Append(YearString(localTime));
return result.ToString();
}