static RSStringRef __RSDateClassDescription(RSTypeRef obj) { RSDateRef date = (RSDateRef)obj; RSGregorianDate gd = RSAbsoluteTimeGetGregorianDate(date->_time, nil); // %04d-%02d-%02d %02d:%02d:%02d.%03d RSStringRef description = RSStringCreateWithFormat(RSAllocatorSystemDefault, RSSTR("%04d-%02d-%02d %02d:%02d:%f"), gd.year,gd.month,gd.day, gd.hour,gd.minute,gd.second); return description; }
static RSStringRef __RSCalendarDescription(RSTypeRef obj) { RSCalendarRef calendar = (RSCalendarRef)obj; RSGregorianDate gd = RSAbsoluteTimeGetGregorianDate(RSAbsoluteTimeGetCurrent(), calendar->_tz); return RSStringCreateWithFormat(RSAllocatorSystemDefault, RSSTR("{identifier = '%R'\nCalendar : %04d-%02d-%02d %02d:%02d:%f (%R)"), calendar->_identifier, gd.year, gd.month, gd.day, gd.hour, gd.minute, gd.second, calendar->_tz); }
RSExport RSUInteger RSDateGetDayOfWeek(RSDateRef date) { __RSDateAvailable(date); RSGregorianDate gd = RSAbsoluteTimeGetGregorianDate(RSDateGetAbsoluteTime(date), nil); return __RSDateGetDayOfWeek(gd.year, gd.month, gd.day); }