According to the documentation you should be able to set the locale
property of UIDatePicker to a locale that uses a 24 hrs format.
NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:@"da_DK"];
[datePicker setLocale:locale];
[locale release];
Alas there is a bug causing both simulator and device to continue to layout the date picker according to the users international preferences.
As you suggest, you have to roll your won date picker to be able to display a 24 hrs picker.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…