Quero obter a hora atual em um formato específico com javascript.
Com a função abaixo e chamando-a , receberei Sex. 01 de fevereiro de 2013 13:56:40 GMT + 1300 (horário de verão da Nova Zelândia), mas quero formatá-la como Sexta - feira 14:00, 1º de fevereiro de 2013
var d = new Date();
var x = document.getElementById("time");
x.innerHTML = d;
É claro que o código acima não tem nenhuma lógica de formatação, mas ainda não encontrei nenhum formatador "funcional".
javascript
date
time
format
Seong Lee
fonte
fonte
Respostas:
Uma data JavaScript possui vários métodos que permitem extrair suas partes:
getFullYear()
- Retorna o ano de 4 dígitosgetMonth()
- Retorna um número inteiro baseado em zero (0-11) representando o mês do ano.getDate()
- Retorna o dia do mês (1-31).getDay()
- Retorna o dia da semana (0-6). 0 é domingo, 6 é sábado.getHours()
- Retorna a hora do dia (0-23).getMinutes()
- Retorna o minuto (0-59).getSeconds()
- Retorna o segundo (0-59).getMilliseconds()
- Retorna os milissegundos (0-999).getTimezoneOffset()
- Retorna o número de minutos entre a hora local da máquina e o UTC.Não existem métodos integrados que permitem obter strings localizadas como "Friday", "February" ou "PM". Você tem que codificar isso sozinho. Para obter a string desejada, você precisa pelo menos armazenar representações de string de dias e meses:
Em seguida, monte-o usando os métodos acima:
Tenho uma função de formato de data que gosto de incluir em minha biblioteca padrão. Leva um parâmetro de string de formato que define a saída desejada. As strings de formato são vagamente baseadas em strings de formato de data e hora personalizadas .Net . Para o formato que você especificou o seguinte string de formato iria funcionar:
"dddd h:mmtt d MMM yyyy"
.Demo: jsfiddle.net/BNkkB/1
Aqui está minha função de formatação de data completa:
fonte
MMMM[0]
retorna o nome do mês correto em vez do caractere não imprimível no índice 0? Não deveria serMMMM[M]
? Eu sou apenas burro? (Deixa pra lá. Ele o configura para o caractere não imprimível, que ele substitui mais tarde para evitar conflitos)Você pode querer tentar
Documentação
fonte
d.toLocaleTimeString()
ed.toLocaleTimeString()
não estão funcionando.toLocaleTimeString()
etoLocaleTimeString()
Atualização de 2017 : use toLocaleDateString e toLocaleTimeString para formatar datas e horas. O primeiro parâmetro passado para esses métodos é um valor local, como en-us . O segundo parâmetro, onde presente, especifica opções de formatação, como o formato longo para o dia da semana.
Por favor, consulte o link abaixo para mais detalhes.
Strings de data e hora (JavaScript)
fonte
toLocalTimeString
oferece 4 estilos de datafull
long
medium
short
, e talvez o que esses termos significam esteja definido em algum lugar. Enquanto isso, strftime poderia (provavelmente) corresponder a qualquer um deles e muitos mais. Por outro lado,toLocalTimeString
suporta fusos horários. Espero que inclua fusos horários que usam o horário de verão ...Você pode usar minha porta de strftime :
Uso de amostra:
O código mais recente está disponível aqui: https://github.com/thdoan/strftime
fonte
Observe os detalhes internos da classe Date e verá que pode extrair todos os bits (data, mês, ano, hora, etc).
http://www.w3schools.com/jsref/jsref_obj_date.asp
Para algo como
Fri 23:00 1 Feb 2013
o código é como:**** Modificado em 29/05/2019 para manter 3 downvoters felizes
fonte
date.getMinutes()
é que ele retorna um único dígito quando os minutos são menores que 10, resultando em horas como "10: 4 da manhã" em vez do mais comum "10: 04".Existem muitas bibliotecas excelentes, para aqueles interessados
Atualmente, não deveria haver necessidade de inventar seus próprios especificadores de formatação.
fonte
moment
é o padrão atual para coisas relacionadas ao tempo em Javascript.moment
rochas.d3
também adicionou algum material de tempo também, então se você já estiver usando isso, você poderá salvar uma biblioteca import github.com/d3/d3/blob/master/API.md#time-formats-d3-time-format2,39 KB reduzido. Um arquivo. https://github.com/rhroyston/clock-js
A hora atual é
fonte
fonte
Para trabalhar com a classe base Date vocêpoderáver os métodos do MDN (em vez do W3Schools devido a esta razão ). Lá você pode encontrar uma boa descrição sobre cada método útil para acessar cada componente de data / hora e informações relativas ao fato de um método ser descontinuado ou não.
Caso contrário, você pode olhar para Moment.js, que é uma boa biblioteca para usar para processamento de data e hora. Você pode usá-lo para manipular a data e a hora (como análise, formatação, i18n, etc.).
fonte
Uso e resultado:
fonte
Para este verdadeiro estilo mysql, use a função abaixo:
2019/02/28 15:33:12
fonte
ISO8601 (por exemplo: HH: MM: SS, 07:55:55 ou 18:50:30) no cromo:
no limite :
fonte
}) ();
05:12:00
fonte
fonte