Oi, Gostaria de saber se possui uma função para conversão de data ISO-8601 (YYYY-MM-DDThh:mm:ss) no ADVPL?
Oi, Gostaria de saber se possui uma função para conversão de data ISO-8601 (YYYY-MM-DDThh:mm:ss) no ADVPL?
Olá, você pode usar a FWTimeStamp(nType,Ddate,cTime)
nTyPe. Define o retorno que você quer, sendo:
1 -Formato aaaammddhhmmss
2 - Formato dd/mm/aaaa-hh:mm:ss
3 - Fotmato UTC aaaa-mm-ddThh:mm:ss (Soment pega a hora local e coloca neste formato)
4 - Estampa de tempo em milissegundos desde 01/01/1970 00:00:00
5 - Formato UTC aaaa-mm-ddThh:mm:ss-+Time Zone (coloca a hora local + o timezone (ISO 8106))
6 - Formato UTC aaaa-mm-ddThh:mm:ssZ (Transforma a data atual em uma data e hora GMT 0)
dDate Data a ser usada. O padrao é a data atual
cTime Hora a ser usada. O padrao é a hora atual
As opções 4, 5 e 6 levam em consideração o parâmetro MV_HVERAO, que indica se o sistema está no horário de verão se e somente se houver ambiente aberto em uso. Abs!
Hum. Muito obrigado. Queria saber também se tem um método para converter da data ISO-8601 para uma data ADVPL?
— Francisco Kennedy Nunes Pinheiro 22 de Jun de 2018Sim. fwDateTimeToLocal(cDateTime,nDst) Onde cDateTime é a data no formato da iso. O parametro nDst (Dayligth Saving time) indica se o sistema está em horário de verão. Você deve enviar 1 para horário de verão, 0 para hora normal. Se você não enviar nada, ele vai considerar o parâmetro MV_HVERAO (somente se o ambiente estiver aberto, senão ele irá considerar como 0). O retorno desta função é um array multidimensional, onde o aArray[1] é dData e o aArray[2] é a cHora local.
— Jandir Deodato 22 de Jun de 2018Blz. Muito obrigado!
— Francisco Kennedy Nunes Pinheiro 22 de Jun de 2018