Asp.net Json DateTime para formato Brasileiro

Esta função serve para converter datas serializadas com JSON (“\/Date(1249335477787)\/”) para o formato brasileiro de data.

  1. function dotNetDateTimeToString(data) {
  2.         data = data.replace(‘/Date(‘, ).replace(‘)/’, );
  3.         var subtraiGMT = data.indexOf("-") > -1;
  4.         var somaGMT = data.indexOf("+") > -1;
  5.  
  6.         if (subtraiGMT || somaGMT) {
  7.                 var lenValido = data.length5;
  8.                 data = data.substr(0, lenValido);
  9.         }
  10.  
  11.         var d = new Date();
  12.         d.setTime(data);
  13.  
  14.         var hora = pad(d.getHours(), 2, "0") + ":" + pad(d.getMinutes(), 2, "0");
  15.  
  16.         var format = (d.getMonth() + 1) + ‘/’ + d.getFullYear();
  17.  
  18.         if (format.length < 7)
  19.                 format = ‘0’ + format;
  20.  
  21.         format = d.getDate() + ‘/’ + format;
  22.  
  23.         if (format.length < 10)
  24.                 format = ‘0’ + format;
  25.  
  26.         return format + " " + hora;
  27. }
  28.  

Número de dias entre duas datas

A função abaixo calcula o número de dias existentes entre duas datas informadas no formato brasileiro, podendo ser facilmente alterado.

  1. function diasIntervalo($dataI, $dataF) {
  2.         $diaI = substr($dataI, 0, 2);
  3.         $mesI = substr($dataI, 3, 2);
  4.         $anoI = substr($dataI, 6, 4);
  5.  
  6.         $diaF = substr($dataF, 0, 2);
  7.         $mesF = substr($dataF, 3, 2);
  8.         $anoF = substr($dataF, 6, 4);
  9.  
  10.         $ini = mktime(0,0,0, $mesI, $diaI, $anoI);
  11.         $fim = mktime(0,0,0, $mesF, $diaF, $anoF);
  12.         $dias = round(($fim$ini) / 86400);
  13.  
  14.         return $dias;
  15. }

Como usar:

  1. $dias = diasIntervalo("01/02/2009", "15/03/2009");
  2. $dias -> 42

Escrever data por extenso

Função para escrever uma data informada por extenso, com opção para cidade.

  1. function dataExtenso($maiuscula = false, $cidade = , $data = ) {
  2.     if($data == ) {
  3.         $dia = date(‘d’);
  4.         $mes = date(‘m’);
  5.         $ano = date(‘Y’);
  6.     }
  7.     else {
  8.         $dia = substr($data, 0, 2);
  9.         $mes = substr($data, 3, 2);
  10.         $ano = substr($data, 6, 4);
  11.     }
  12.  
  13.     $cidade = $cidade != ? $cidade . ‘, ‘ : ;
  14.  
  15.     $meses = array(
  16.     ’01’ => ‘Janeiro’,
  17.     ’02’ => ‘Fevereiro’,
  18.     ’03’ => ‘Março’,
  19.     ’04’ => ‘Abril’,
  20.     ’05’ => ‘Maio’,
  21.     ’06’ => ‘Junho’,
  22.     ’07’ => ‘Julho’,
  23.     ’08’ => ‘Agosto’,
  24.     ’09’ => ‘Setembro’,
  25.     ’10’ => ‘Outubro’,
  26.     ’11’ => ‘Novembro’,
  27.     ’12’ => ‘Dezembro’);
  28.  
  29.     if(!$maiuscula) {
  30.         $retorno = $cidade . str_pad($dia, 2‘0’, STR_PAD_LEFT)‘ de ‘ . $meses[$mes]‘ de ‘ . $ano;
  31.     }
  32.     else {
  33.         $retorno = strtoupper($cidade . str_pad($dia, 2‘0’, STR_PAD_LEFT)‘ de ‘ . $meses[$mes]‘ de ‘ . $ano);
  34.     }
  35.     return $retorno;
  36. }

Como usar:

  1. echo dataExtenso();