Pergunta

Eu tenho uma coluna de data no formato 'dd/mm/yyyy' e coluna de tempo no formato 'hh: mm am/pm' na planilha do app do Google. No script do aplicativo, quero ingressar nesses 2 valores como um tempo de dados. Como posso fazer isso?

Exemplo de data: 13/12/2010, Hora: 16:30 Então, quero obter um valor combinado como '13/12/2010 16:30 'como um objeto DateTime.

Tentei analisar a data e a hora usando as funções GetYear, GetDay JS. E criou uma nova data usando

new Date(year, month, day, hours, minutes)

Mas, por algum motivo, o tempo '4:30' está sendo mostrado como uma data completa e estranha como 30 de novembro de 1899 10:30. Posso extrair com precisão ano, dia e mês, mas não horas e minutos.

Foi útil?

Solução

Eu recebi isso respondido em isto Tópico do fórum do Google Apps.

"Primeiro, não há diferença entre data e hora (além da formatação), todos são objetos de data. Agora, para o problema. O número que é o valor da data/hora na planilha, é o número de dias que o "Epoch", então o "tempo" é na verdade a parte decimal do número. Se você digitar 0 (zero) na sua planilha e selecione o formato DateTime, verá que a época é "30/12/1899 0 : 00: 00 "Na planilha atual. Isso é muito estranho para mim. Nem sempre foi assim, mas o Google parecia pensar que isso é melhor para o usuário, porque se alguém alterar as configurações do fuso horário da planilha, as datas não mudarão visualmente, por exemplo, se você digitar "1/1 /10 14:00 "na planilha e depois alterar o fuso horário para qualquer outro, a data/hora não mudará. sejam 14:00 no novo fuso horário.

Agora, em gás, a época é "1/1/1970 0:00:00 gmt+0", agora importa o fuso horário. Portanto, a época é diferente e provavelmente o fuso horário também. Isso torna as datas operacionais entre o gás e a planilha uma bagunça total. Para testar a época do gás, faça um range.setValue (nova data (0)); "

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top