1
resposta

Formato de Horário

Olá!

Minha dúvida é referente ao type=time utilizado. Aqui ele retorna quando setado o value="00:00:00" no DOM corretamente como 00:00:00 mas na exibição 12:00:00 AM.

Este inclusive eu não consigo setar para não aparecer AM/PM (segue imagem).

O código utilizado é o mesmo da aula

state = {
        tarefa: "",
        tempo: "00:00:00"
    }
    render() {
        return (
            <form className={style.novaTarefa}>
                <div className={style.inputContainer}>
                    <label htmlFor='tarefa'>
                        Adicione um novo estudo
                    </label>
                    <input
                        type='text'
                        name='tarefa'
                        id='tarefa'
                        placeholder='O que você quer estudar?'
                        required
                    />
                </div>
                <div className={style.inputContainer}>
                    <label htmlFor='tempo'>
                        Tempo
                    </label>
                    <input
                        type='time'
                        step='1'
                        name='tempo'
                        value={this.state.tempo}
                        onChange={evento => this.setState({ ...this.state, tempo: evento.target.value })}
                        id='tempo'
                        min='00:00:00'
                        max='01:30:00'
                        required
                    />
                </div>

Imagem que mostra o retorno de horário com AM PM

Gostaria de saber onde consigo configurar para não utilizar este formato (AM/PM) e enfim exibir "00:00:00" no campo. Estou disponível para enviar outras informações que possam ser necessárias.

1 resposta

Olá Dev! Tudo bem?

Peço desculpa pela demora em obter um retorno.

Para que eu possa te auxiliar de forma mais assertiva, peço que por gentileza compartilhe o seu código completo conosco, dessa forma posso analisar uma forma concreta de te ajudar.

O formato AM/PM é o formato padrão para exibição de horários em alguns países, como Estados Unidos e Canadá. Uma sugestão para exibir o horário no formato 24 horas, você pode utilizar o atributo "pattern" na tag input, como no exemplo abaixo:

<input
    type='time'
    step='1'
    name='tempo'
    value={this.state.tempo}
    onChange={evento => this.setState({ ...this.state, tempo: evento.target.value })}
    id='tempo'
    min='00:00:00'
    max='01:30:00'
    required
    pattern="\d{2}:\d{2}"
/>

O pattern utilizado acima exige que o horário seja inserido no formato "HH:MM". Esse padrão especifica uma sequência de caracteres, onde "HH" representa as horas e "MM" representa os minutos.

Se precisar de ajuda, fico à disposição.

Um bom dia e bons estudos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software