none
Especificar Formato para Fecha RRS feed

  • Pregunta

  •  Hola

    Nesecito crear una funcion donde le pase como parametro la fecha actual y me la devuelva  con este formato

    2017-01-01T00:00:00-0600

    Como puedo hacerlo ?


    EFRAIN MEJIAS C VALENCIA - VENEZUELA


    lunes, 18 de diciembre de 2017 13:02

Respuestas

  • Si sólo te refieres al formato no requieres de un nuevo método para realizar la conversión, puedes utilizar el método ToString() para convertir el valor de fecha y tiempo a una cadena con formato, por ejemplo:

    string fechaConFormato = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss-ffff");
    //Resultado: 2017-12-18T09:06:53-1753

    lunes, 18 de diciembre de 2017 14:08
  • string fecha = DateTime.Now.Date.ToString("yyyy-MM-ddTHH:mm:sszz");

    esto te produce una zona horaria, para argentina, -03. No -0300. Si pongo zzz como especificador, entonces genera -03:00, con los dos puntos de separador. Podrías especificar zz00, pero qué ocurre con aquellos países que tienen zonas horarias no redondas, digamos 0130...

    --

    Ah!, me olvidé comentarte. El SortableDateTimePattern no incluye la zona horaria

    string fecha = DateTime.Now.Date.ToString("s");

    --

    la persona que pregunta, no conoce el formato

    la persona que responde, no reconoce el formato

    el moderador, no tiene la menor idea acerca de ninguna cosa que tenga que ver con el propósito del foro. El único propósito del moderador es maquillar todo, pera que se vea bonito. Total, pensará el moderador, el 999 por mil de los que leen esta página, no tienen la menor idea y toda respuesta les parecerá apropiada. 

    me imagino que stackoverflow estará a reventar con links a este sitio. 


    • Editado HQ56 lunes, 18 de diciembre de 2017 16:01
    • Marcado como respuesta Efrain Mejias Castillo lunes, 18 de diciembre de 2017 16:56
    lunes, 18 de diciembre de 2017 14:34
  • Buenas,

    Ningun problema

    string ConvertirDatetime(DateTime date)
    {
      return string.Format("{0:yyyy-MM-dd}T{0:HH:mm:ss-ffff}", date);
    }

    Lo de que la hora minuto y segundo tiene que ser cero no lo entiendo, te refieres a que no quieres que ponga los que lleva el datetime y ponga siempre 0? si es asi:

    string ConvertirDatetime(DateTime date)
    {
      return string.Format("{0:yyyy-MM-dd}T00:00:00:-0000", date);
    }


    Nos comentas si tienes algo

    Atte


    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    Para obtener una respuesta lo más rápida y concisa posible, te recomiendo:


    lunes, 18 de diciembre de 2017 15:14

Todas las respuestas

  • Buenas Efrian,

    Hasta donde se, no hay ninguna opcion que te lo de asi (pero puedo equivocarme), de todos modos, es facil conseguirlo con string.Format()

    string ConvertirDatetime(DateTime date)
    {
      return string.Format("{0:yyyy/MM/dd}T{0:HH:mm:ss-fff}", date);
    }


    Si tienes dudas nos comentas

    Atte


    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    Para obtener una respuesta lo más rápida y concisa posible, te recomiendo:

    lunes, 18 de diciembre de 2017 13:23
  • Si sólo te refieres al formato no requieres de un nuevo método para realizar la conversión, puedes utilizar el método ToString() para convertir el valor de fecha y tiempo a una cadena con formato, por ejemplo:

    string fechaConFormato = DateTime.Now.ToString("yyyy-MM-ddTHH:mm:ss-ffff");
    //Resultado: 2017-12-18T09:06:53-1753

    lunes, 18 de diciembre de 2017 14:08
  • string fecha = DateTime.Now.Date.ToString("yyyy-MM-ddTHH:mm:sszz");

    esto te produce una zona horaria, para argentina, -03. No -0300. Si pongo zzz como especificador, entonces genera -03:00, con los dos puntos de separador. Podrías especificar zz00, pero qué ocurre con aquellos países que tienen zonas horarias no redondas, digamos 0130...

    --

    Ah!, me olvidé comentarte. El SortableDateTimePattern no incluye la zona horaria

    string fecha = DateTime.Now.Date.ToString("s");

    --

    la persona que pregunta, no conoce el formato

    la persona que responde, no reconoce el formato

    el moderador, no tiene la menor idea acerca de ninguna cosa que tenga que ver con el propósito del foro. El único propósito del moderador es maquillar todo, pera que se vea bonito. Total, pensará el moderador, el 999 por mil de los que leen esta página, no tienen la menor idea y toda respuesta les parecerá apropiada. 

    me imagino que stackoverflow estará a reventar con links a este sitio. 


    • Editado HQ56 lunes, 18 de diciembre de 2017 16:01
    • Marcado como respuesta Efrain Mejias Castillo lunes, 18 de diciembre de 2017 16:56
    lunes, 18 de diciembre de 2017 14:34
  • hola.. Jorge Turrado

    fijate que debe estar separado por guiones (-) y no barra (/) las horas minutos y seundos deben ser en cero 00:00:00 y los milisegundos deben ser 4 digitos...

    Asi

    2017-01-01T00:00:00-0600


    EFRAIN MEJIAS C VALENCIA - VENEZUELA

    lunes, 18 de diciembre de 2017 15:09
  • Buenas,

    Ningun problema

    string ConvertirDatetime(DateTime date)
    {
      return string.Format("{0:yyyy-MM-dd}T{0:HH:mm:ss-ffff}", date);
    }

    Lo de que la hora minuto y segundo tiene que ser cero no lo entiendo, te refieres a que no quieres que ponga los que lleva el datetime y ponga siempre 0? si es asi:

    string ConvertirDatetime(DateTime date)
    {
      return string.Format("{0:yyyy-MM-dd}T00:00:00:-0000", date);
    }


    Nos comentas si tienes algo

    Atte


    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    Para obtener una respuesta lo más rápida y concisa posible, te recomiendo:


    lunes, 18 de diciembre de 2017 15:14