有人可以解释 difference between the %h and %I 吗?两者都被描述为“Hour (01..12)”,秒 %s%S 相同?这背后有什么“奇怪”的功能吗?重复的原因是什么?

最佳答案

%h 和 %I,以及 %s 和 %S 是相同的。

在代码中它看起来像这样:

case 'h':
case 'I':
  hours_i= (l_time->hour%24 + 11)%12+1;
  length= (uint) (int10_to_str(hours_i, intbuff, 10) - intbuff);
  str->append_with_prefill(intbuff, length, 2, '0');
  break;

case 'S':
case 's':
  sprintf(intbuff,"%02d",l_time.second);
  str->append(intbuff);
  break;

即使早在 2003 年 6 月 20 日发布的版本 3.23.57(我能找到的最旧的源文件)中,它们也是相同的。

关于MySQL DATE_FORMAT 重复说明符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23048587/

10-11 03:31