首页 > 解决方案 > javascript toLocaleTimeString 2 位数只有秒或分钟不起作用

问题描述

前任。:

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 位数的分钟或秒需要什么?

标签: javascripthtmldatelocale

解决方案


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

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]);


推荐阅读