Kdb:如果少于2位,则在字符串前加零

时间:2018-11-01 15:00:55

标签: date formatting kdb zero

我从日期时间原子中提取了年,日,月,时,分和秒。如何在数字位数小于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 :(得分:3)

此行应能满足您的需求:

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

如果您要分配值,可以使用以下方法:

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

希望有帮助!

相关问题