【问题标题】:javascript toLocaleTimeString 2-digit only second or minute not workingjavascript toLocaleTimeString 2 位数只有秒或分钟不起作用
【发布时间】:2019-10-21 12:36:22
【问题描述】:

例如:

const options = {
    			       timeZone:"America/Sao_Paulo",
    			       hour12 : false,
    			       hour:  "2-digit",
    			       //minute: "2-digit",
    			       //second: "2-digit"
    			    };
              
console.log(new Date("2019-06-05T00:01:00").toLocaleTimeString("pt-BR",options));

它显示为 00,这很好。但是如果我只用分钟或秒来尝试这个,它只会显示一个数字。

const options = {
    			       timeZone:"America/Sao_Paulo",
    			       hour12 : false,
    			       //hour:  "2-digit",
    			       minute: "2-digit",
    			       //second: "2-digit"
    			    };
console.log(new Date("2019-06-05T00:01:00").toLocaleTimeString("pt-BR",options));

const options2 = {
    			       timeZone:"America/Sao_Paulo",
    			       hour12 : false,
    			       //hour:  "2-digit",
    			       //minute: "2-digit",
    			       second: "2-digit"
    			    };
console.log(new Date("2019-06-05T00:01:00").toLocaleTimeString("pt-BR",options2));

用 2 位数获得分钟或秒需要什么?

【问题讨论】:

  • toLocaleString 仍然很大程度上依赖于实现。它并不意味着是一个严格的格式化工具,比如一个专门构建的格式化库或您可能自己编写的函数。例如。带选项小时:2 位,秒:2 位(即省略分钟)我得到“21(segundo:0)”我猜是因为 21:00 会产生误导。

标签: javascript html date locale


【解决方案1】:

谢谢大家。可悲的是,我不得不用小时、分钟和秒来划分时间,并使用数组索引来获得我想要的:

let d = new Date('2019-06-06T00:01:02');
    		  
const options = {
     timeZone:"America/Sao_Paulo",
     hour12 : false,
     hour:  "2-digit",
     minute: "2-digit",
     second: "2-digit"
  };
    		  
let horario = d.toLocaleTimeString("pt-BR",options);
    		  
let array_horario = horario.split(':');
    		  
console.log(array_horario[0]);
console.log(array_horario[1]);
console.log(array_horario[2]);

【讨论】:

    【解决方案2】:

    不幸的是,chrome 和 firefox 不太尊重这一点。最好的方法是格式化小时、分钟和秒,这将导致它始终打印 2 位数字。

    const options = {
        timeZone:"America/Sao_Paulo",    
        hour12 : false,
        hour:  "2-digit",
        minute: "2-digit",
        second: "2-digit"
    };
    

    并解析它发布。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-07
      • 1970-01-01
      • 2013-02-08
      • 2017-10-15
      • 2011-04-13
      • 2014-07-28
      • 2016-02-10
      相关资源
      最近更新 更多