private static string ToLocale_helper(double t, int methodId)
{
DateFormat formatter;
switch (methodId)
{
case Id_toLocaleString:
{
if (localeDateTimeFormatter == null)
{
localeDateTimeFormatter = DateFormat.GetDateTimeInstance(DateFormat.LONG, DateFormat.LONG);
}
formatter = localeDateTimeFormatter;
break;
}
case Id_toLocaleTimeString:
{
if (localeTimeFormatter == null)
{
localeTimeFormatter = DateFormat.GetTimeInstance(DateFormat.LONG);
}
formatter = localeTimeFormatter;
break;
}
case Id_toLocaleDateString:
{
if (localeDateFormatter == null)
{
localeDateFormatter = DateFormat.GetDateInstance(DateFormat.LONG);
}
formatter = localeDateFormatter;
break;
}
default:
{
throw new Exception();
}
}
// unreachable
lock (formatter)
{
return formatter.Format(Sharpen.Extensions.CreateDate((long)t));
}
}