Форматирование даты SAS часы / минуты / секунды

Поскольку в моих данных времени есть некоторые беспорядочные символы (*, #, char и т. д.), Я ввожу данные в формате best.32, а затем с помощью сжатия удаляю ненужные символы - time_1 = compress(Tim_original,'*#','l');

Однако мои данные имеют форму mm:ss и hh:mm:ss, и по какой-то причине, когда я использую time_1=input(time_1,time8.) для преобразования строки в число, мои миллиметры превращаются в часы ...! Как мне преобразовать мою строку во время / минуты и не превратить минуты в часы с добавлением ": 00" в конце?

покажите образцы данных, чтобы кто-нибудь мог вам помочь.

Kiran 26.04.2018 02:24

Попробуйте проверить длину сжатой строки времени (length(timestring)<=5) или посчитайте количество двоеточий (:) (countc(timestring,':')=1). В этих случаях добавьте 00: к timestring перед использованием input.

Richard 26.04.2018 02:44
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
2
764
1

Ответы 1

Если в вашем тексте есть только один :, то информация TIME будет понимать, что это означает hh:mm, а не mm:ss. Вы можете просто протестировать свою строку и разделить результат вызова функции INPUT () на 60, чтобы преобразовать его.

data test;
  input @1 timestr $8. ;
  time1=input(timestr,time8.);
  time2=input(timestr,time8.);
  if countw(timestr,':') < 3 then time2=time2/60 ;
  format time1 time2 time8.;
cards;
12:34
0:12:34
;

Другие вопросы по теме