Apex da Salesforce: função do formato do Timestamp ISO
estava a pensar se existe uma função apex date ou datetime para formatar uma data / hora para a data / hora do tempo formatado ISO "2007-04-05T12:30-02:00" ou teria de ser criada por outro meio?
Obrigado.2 answers
No Apex pode usar os métodos DateTime format(string dataFormat)
ou format(string dataFormat, string timezone)
. Ele aceita uma string dataFormat, que corresponde a um formato de data Simples Java. Terá de definir o formato correcto para a norma ISO 8601.
Também, tenha em conta o fuso-horário do DateTime. No exemplo abaixo eu usei formatGMT para evitar o deslocamento do fuso-horário.
System.debug(datetime.now().formatGMT('yyyy-MM-dd\'T\'HH:mm:ss.SSS\'Z\''));
Em alternativa, podes usar o serializador JSON.
System.debug(json.serialize(datetime.now()));
Para qualquer pessoa que leia isto agora, se quiser o fuso-horário, usando Java SimpleDateFormat
, poderá obter o valor de deslocamento do +/-hh:mm
do fuso-horário:
System.debug(datetime.now().format('yyyy-MM-dd\'T\'HH:mm:ss.SSSXXX', 'America/Los_Angeles'));
Output: 2021-01-15T17:30:22.735-08:00