Использование производного поля для вывода времени в 24-часовом формате
Проблема или ошибка:
Как вывести время в 24-часовом формате (военное время) в
Campaign
?
Решение:
Чтобы получить 24-часовой формат времени, вы можете создать производное поле в
Campaign
, используя следующий оператор:
if((string_seg(10, 11, Current_Time()) = 'PM'
AND number(string_seg(1, 2, Current_Time()))< 12) ,
string_concat(format((number(string_seg(1, 2, Current_Time()))+ 12),2),
string_seg(3, 8, Current_Time())),
if ((string_seg(10, 11, Current_Time()) = 'AM'
AND number(string_seg(1, 2, Current_Time())) = 12),
string_concat('00', string_seg(3, 8, Current_Time())),
string_concat(string_seg(1, 2, Current_Time()),
string_seg(3, 8, Current_Time()))))
Примечание: В этом примере предполагается, что часы форматируются с использованием нуля в начала (01:01:53 PM, а не 1:01:53 PM). Операционная система Windows может не ставить ноль в начале, но UNIX делает это.
Ниже приводится альтернативный метод, позволяющий получить тот же результат:
StripHour = string_seg(1, 2, Current_time())
HourNum = number(StripHour)
StripPM = string_seg(10, 11, Current_time())
StripRest = string_seg(3, 8, Current_time())
if((StripPM = 'PM' AND HourNum < 12),
string_concat(format((HourNum + 12),2), StripRest),
if ((StripPM = 'AM' AND HourNum = 12), string_concat('00', StripRest),
string_concat(Strip_Hour, StripRest)
Copyright IBM Corporation 2012. All Rights Reserved.