BString TimeZoneView::_FormatTime(const BTimeZone& timeZone) { BString result; time_t now = time(NULL); bool rtcIsGMT; _kern_get_real_time_clock_is_gmt(&rtcIsGMT); if (!rtcIsGMT) { int32 currentOffset = fCurrentZoneItem != NULL && fCurrentZoneItem->HasTimeZone() ? fCurrentZoneItem->OffsetFromGMT() : 0; now -= timeZone.OffsetFromGMT() - currentOffset; } BLocale::Default()->FormatTime(&result, now, B_SHORT_TIME_FORMAT, &timeZone); return result; }