Kdb: предварительное ожидание от ведущего нуля до строки, если меньше 2 цифр - PullRequest
0 голосов
/ 01 ноября 2018

Я извлек год, день, месяц, час, минуту и ​​секунду из атома даты и времени. Как я могу добавить начальные нули к дню, месяцу, часу, минуте и секунде, где количество цифр меньше 2?

У меня есть что-то вроде этого:

  year:string`year$inDateTime;
  day:string`dd$inDateTime;
  if[1=(count day);day:("0",day)];
  month:string`mm$inDateTime;
  if[1=(count month);month:"0",month];
  hour:string`hh$inDateTime;
  if[1=(count hour);hour:"0",hour];
  minute:string`uu$inDateTime;  
  if[1=(count minute);minute:"0",minute];
  second:string`ss$inDateTime;
  if[1=(count second);second:"0",second];

Но есть ли более чистый способ сделать это?

1 Ответ

0 голосов
/ 01 ноября 2018

Эта строка должна достичь того, что вы ищете:

"0"^-2$string`dd`mm`hh`uu`ss$x

если вы хотите присвоить свои значения, вы можете использовать это:

`day`month`hour`minute`second set'"0"^-2$string`dd`mm`hh`uu`ss$x

Надеюсь, это поможет!

...