converterHttpExpiresParaISO static method

String? converterHttpExpiresParaISO(
  1. String? httpExpires
)

@formatador_utils

Converte um header HTTP 'expires' para formato ISO 8601 (AAAA-MM-DDTHH:MM:SS)

Exemplo de entrada:

converterHttpExpiresParaISO('Sat, 15 Oct 2022 00:00:01 GMT')

Exemplo de saída:

'2022-10-15T00:00:01'

httpExpires - String no formato HTTP date header (ex: 'Sat, 15 Oct 2022 00:00:01 GMT')

Retorna null se a string não puder ser parseada

Implementation

static String? converterHttpExpiresParaISO(String? httpExpires) {
  if (httpExpires == null || httpExpires.isEmpty) {
    return null;
  }

  try {
    final dateTime = HttpDateUtils.parse(httpExpires);
    if (dateTime == null) return null;

    return '${dateTime.year.toString().padLeft(4, '0')}-'
        '${dateTime.month.toString().padLeft(2, '0')}-'
        '${dateTime.day.toString().padLeft(2, '0')}T'
        '${dateTime.hour.toString().padLeft(2, '0')}:'
        '${dateTime.minute.toString().padLeft(2, '0')}:'
        '${dateTime.second.toString().padLeft(2, '0')}';
  } catch (e) {
    return null;
  }
}