Foros del Web » Programando para Internet » Javascript »

formato RFC822 con javascript

Estas en el tema de formato RFC822 con javascript en el foro de Javascript en Foros del Web. hola, intento utilizar este código para mostrar la fecha en formato RFC822 en un archivo rss, pero esta es la salida que se produce: <pubdate> ...
  #1 (permalink)  
Antiguo 28/05/2011, 09:25
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 8 meses
Puntos: 2
formato RFC822 con javascript

hola,

intento utilizar este código para mostrar la fecha en formato RFC822 en un archivo rss, pero esta es la salida que se produce:

<pubdate>viernes, 27 de mayo de 2011, function getHours() { [native code]}: function getMinutes() { [native code]}:function getSeconds() { [native code]}
</pubdate>

nunca antes había tenido una respuesta [native code]

Código Javascript:
Ver original
  1. var fecha   = new Date(fecha);
  2.     var fechata = "";  
  3.    
  4.         switch (fecha.getDay())
  5.         {
  6.             case 0:
  7.             fechata += "domingo, ";
  8.             break;
  9.             case 1:
  10.             fechata += "lunes, ";
  11.             break;
  12.             case 2:
  13.             fechata += "martes, ";
  14.             break;
  15.             case 3:
  16.             fechata += "miércoles, ";
  17.             break;
  18.             case 4:
  19.             fechata += "jueves, ";
  20.             break;
  21.             case 5:
  22.             fechata += "viernes, ";
  23.             break;
  24.             case 6:
  25.             fechata += "sábado, ";
  26.             break;
  27.         }
  28.    
  29.         switch (fecha.getDate())
  30.         {
  31.             case 1:
  32.             fechata += "01";
  33.             break;
  34.             case 2:
  35.             fechata += "02";
  36.             break;
  37.             case 3:
  38.             fechata += "03";
  39.             break;
  40.             case 4:
  41.             fechata += "04";
  42.             break;
  43.             case 5:
  44.             fechata += "05";
  45.             break;
  46.             case 6:
  47.             fechata += "06";
  48.             break;
  49.             case 7:
  50.             fechata += "07";
  51.             break;
  52.             case 8:
  53.             fechata += "08";
  54.             break;
  55.             case 9:
  56.             fechata += "09";
  57.             break;
  58.             case 10:
  59.             fechata += "10";
  60.             break;
  61.             case 11:
  62.             fechata += "11";
  63.             break;
  64.             case 12:
  65.             fechata += "12";
  66.             break;
  67.             case 13:
  68.             fechata += "13";
  69.             break;
  70.             case 14:
  71.             fechata += "14";
  72.             break;
  73.             case 15:
  74.             fechata += "15";
  75.             break;
  76.             case 16:
  77.             fechata += "16";
  78.             break;
  79.             case 17:
  80.             fechata += "17";
  81.             break;
  82.             case 18:
  83.             fechata += "18";
  84.             break;
  85.             case 19:
  86.             fechata += "19";
  87.             break;
  88.             case 20:
  89.             fechata += "20";
  90.             break;
  91.             case 21:
  92.             fechata += "21";
  93.             break;
  94.             case 22:
  95.             fechata += "22";
  96.             break;
  97.             case 23:
  98.             fechata += "23";
  99.             break;
  100.             case 24:
  101.             fechata += "24";
  102.             break;         
  103.             case 25:
  104.             fechata += "25";
  105.             break;
  106.             case 26:
  107.             fechata += "26";
  108.             break;
  109.             case 27:
  110.             fechata += "27";
  111.             break;
  112.             case 28:
  113.             fechata += "28";
  114.             break;
  115.             case 29:
  116.             fechata += "29";
  117.             break;
  118.             case 30:
  119.             fechata += "30";
  120.             break;
  121.             case 31:
  122.             fechata += "31";
  123.             break;
  124.         }
  125.        
  126.         switch (fecha.getMonth())
  127.         {
  128.             case 0:
  129.             fechata += " de enero de ";
  130.             break;
  131.             case 1:
  132.             fechata += " de febrero de ";
  133.             break;
  134.             case 2:
  135.             fechata += " de marzo de ";
  136.             break;
  137.             case 3:
  138.             fechata += " de abril de ";
  139.             break;
  140.             case 4:
  141.             fechata += " de mayo de ";
  142.             break;
  143.             case 5:
  144.             fechata += " de junio de ";
  145.             break;
  146.             case 6:
  147.             fechata += " de julio de ";
  148.             break;
  149.             case 7:
  150.             fechata += " de agosto de ";
  151.             break;
  152.             case 8:
  153.             fechata += " de septiembre de ";
  154.             break;
  155.             case 9:
  156.             fechata += " de octubre de ";
  157.             break;
  158.             case 10:
  159.             fechata += " de noviembre de ";
  160.             break;
  161.             case 11:
  162.             fechata += " de diciembre de ";
  163.             break;
  164.         }
  165.        
  166.     fechata += fecha.getFullYear();
  167.    
  168.     var fechahora = fecha.getHours;
  169.     if (fechahora.length == 1){fechahora = "0" + fechahora;}
  170.    
  171.     fechata += ", " + fechahora + ":";
  172.    
  173.     var fechaminutos = fecha.getMinutes;
  174.     if (fechaminutos.length == 1){fechaminutos = "0" + fechaminutos;}
  175.    
  176.     fechata += fechaminutos + ":";
  177.    
  178.     var fechasegundos = fecha.getSeconds;
  179.     if (fechasegundos.length == 1){fechasegundos = "0" + fechasegundos;}
  180.    
  181.     fechata += fechasegundos;

un saludo,
gracias.
  #2 (permalink)  
Antiguo 28/05/2011, 09:46
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: formato RFC822 con javascript

Eso pasa porque estás asignando a la variable una referencia a la función, y no lo que devuelve la función. Puedes reducir el código a esto:
Código Javascript:
Ver original
  1. function mostrarFecha(tiempo){
  2.  var fecha = new Date(tiempo || +new Date()), str = '';
  3.  var equiv = {
  4.   dias : ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'],
  5.   meses : ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'];
  6.  };
  7.  str += equiv.dias[fecha.getDay()] + ', ' + fecha.getDate() + ' de ';
  8.  str += equiv.meses[fecha.getMonth()] + ' de ' + fecha.getFullYear();
  9.  str += ', ' + fecha.getHours + ':' +  fecha.getMinutes +  fecha.getSecond;
  10.  return str;
  11. }
  12.  
  13. var fecha1 = mostrarFecha(); // sábado, 28 de mayo de 2011, 17:45:25
  14. var fecha2 = mostrarFecha(0); // jueves, 1 de enero de 1970, 0:0:0
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 28/05/2011, 10:19
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 8 meses
Puntos: 2
Respuesta: formato RFC822 con javascript

gracias.

donde le estoy asignando una referencia a la función, y como habría que modificarlo para que funcione?

un saludo,
josé carlos.
  #4 (permalink)  
Antiguo 28/05/2011, 11:11
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 8 meses
Puntos: 2
Respuesta: formato RFC822 con javascript

lo acabo de probar y el resultado es el mismo.

alguien encuentra el problema?

un saludo,
josé carlos.
  #5 (permalink)  
Antiguo 28/05/2011, 11:42
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 13 años, 10 meses
Puntos: 310
Respuesta: formato RFC822 con javascript

Ups, tuve el mismo fallo que tú, no estaba concentrado.
Prueba ahora:
Código Javascript:
Ver original
  1. function mostrarFecha(tiempo){
  2.  var fecha = new Date(tiempo || +new Date()), str = '';
  3.  var equiv = {
  4.   dias : ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'],
  5.   meses : ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre', 'diciembre'];
  6.  };
  7.  str += equiv.dias[fecha.getDay()] + ', ' + fecha.getDate() + ' de ';
  8.  str += equiv.meses[fecha.getMonth()] + ' de ' + fecha.getFullYear();
  9.  str += ', ' + fecha.getHours() + ':' +  fecha.getMinutes() +  fecha.getSeconds();
  10.  return str;
  11. }
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #6 (permalink)  
Antiguo 28/05/2011, 11:45
 
Fecha de Ingreso: julio-2002
Mensajes: 813
Antigüedad: 21 años, 8 meses
Puntos: 2
Respuesta: formato RFC822 con javascript

si ya me había dado cuenta,
eso me pasa por trabajar sabado,

un saludo,
josé carlos.

Etiquetas: formato
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:10.