private int weekOfYear()
{
Weekday sow = Weekday.localeStartOfWeek(locale());
if (val is DateTime) return (int)((DateTime)val).weekOfYear(sow);
if (val is Date) return (int)((Date)val).weekOfYear(sow);
return 0;
}