【问题标题】:Kdb: Pre-pend Leading Zero to String if Less Than 2 DigitsKdb:如果小于 2 位,则在字符串中添加前导零
【发布时间】:2018-11-01 15:00:55
【问题描述】:

我从日期时间原子中提取了年、日、月、时、分和秒。如何在位数小于 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];

但是有没有更简洁的方法来实现这一点?

【问题讨论】:

    标签: date formatting kdb zero


    【解决方案1】:

    这条线应该能达到你想要的效果:

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

    如果你想分配你的值,你可以使用这个:

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

    希望有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-12
      • 1970-01-01
      • 2014-07-13
      • 2013-03-29
      • 1970-01-01
      相关资源
      最近更新 更多