Parsear DateTime a un string c#












1















Tengo la fecha que recibí de la llamada de API entrante: miércoles 6 de marzo de 2019 14:39:49 +0300 Necesito analizar esta cadena a DateTime. Para esto estoy usando el siguiente código:



DateTime.ParseExact("Sun, 10 Mar 2019 14:39:49 +0300", 
new string { "ddd, dd MMM yyyy HH:mm:ss zzzz" },
CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal);


Pero te me da este error




String 'Sun, 10 Mar 2019 14:39:49 +0300' was not recognized as a valid
DateTime.











compartir|mejorar esta pregunta


















  • 1





    Estás seguro? Yo acabo de probar tu código y funciona correctamente...Aqui puedes verlo: dotnetfiddle.net/4QM8vn . O lo que quieres parsear es miércoles 6 de marzo de 2019 14:39:49 +0300?

    – Pikoh
    hace 3 horas








  • 1





    tu codigo funciona (retorna 10-03-2019 11:39:49)

    – patovega
    hace 3 horas






  • 1





    @Pikoh debe querer pasar miércoles 6 de marzo de 2019 14:39:49 +0300 a datetime

    – patovega
    hace 3 horas






  • 1





    tbn es muy raro recibir las fechas de un API con ese formato, por lo regular siempre se utilizan formatos de fecha internacional

    – Orlando De La Rosa
    hace 3 horas






  • 1





    Documentación oficial: docs.microsoft.com/es-es/dotnet/standard/base-types/…

    – fredyfx
    hace 3 horas
















1















Tengo la fecha que recibí de la llamada de API entrante: miércoles 6 de marzo de 2019 14:39:49 +0300 Necesito analizar esta cadena a DateTime. Para esto estoy usando el siguiente código:



DateTime.ParseExact("Sun, 10 Mar 2019 14:39:49 +0300", 
new string { "ddd, dd MMM yyyy HH:mm:ss zzzz" },
CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal);


Pero te me da este error




String 'Sun, 10 Mar 2019 14:39:49 +0300' was not recognized as a valid
DateTime.











compartir|mejorar esta pregunta


















  • 1





    Estás seguro? Yo acabo de probar tu código y funciona correctamente...Aqui puedes verlo: dotnetfiddle.net/4QM8vn . O lo que quieres parsear es miércoles 6 de marzo de 2019 14:39:49 +0300?

    – Pikoh
    hace 3 horas








  • 1





    tu codigo funciona (retorna 10-03-2019 11:39:49)

    – patovega
    hace 3 horas






  • 1





    @Pikoh debe querer pasar miércoles 6 de marzo de 2019 14:39:49 +0300 a datetime

    – patovega
    hace 3 horas






  • 1





    tbn es muy raro recibir las fechas de un API con ese formato, por lo regular siempre se utilizan formatos de fecha internacional

    – Orlando De La Rosa
    hace 3 horas






  • 1





    Documentación oficial: docs.microsoft.com/es-es/dotnet/standard/base-types/…

    – fredyfx
    hace 3 horas














1












1








1








Tengo la fecha que recibí de la llamada de API entrante: miércoles 6 de marzo de 2019 14:39:49 +0300 Necesito analizar esta cadena a DateTime. Para esto estoy usando el siguiente código:



DateTime.ParseExact("Sun, 10 Mar 2019 14:39:49 +0300", 
new string { "ddd, dd MMM yyyy HH:mm:ss zzzz" },
CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal);


Pero te me da este error




String 'Sun, 10 Mar 2019 14:39:49 +0300' was not recognized as a valid
DateTime.











compartir|mejorar esta pregunta














Tengo la fecha que recibí de la llamada de API entrante: miércoles 6 de marzo de 2019 14:39:49 +0300 Necesito analizar esta cadena a DateTime. Para esto estoy usando el siguiente código:



DateTime.ParseExact("Sun, 10 Mar 2019 14:39:49 +0300", 
new string { "ddd, dd MMM yyyy HH:mm:ss zzzz" },
CultureInfo.InvariantCulture, DateTimeStyles.AdjustToUniversal);


Pero te me da este error




String 'Sun, 10 Mar 2019 14:39:49 +0300' was not recognized as a valid
DateTime.








c# string datetime






compartir|mejorar esta pregunta













compartir|mejorar esta pregunta











compartir|mejorar esta pregunta




compartir|mejorar esta pregunta










formulada hace 3 horas









itsvan morenoitsvan moreno

7914




7914








  • 1





    Estás seguro? Yo acabo de probar tu código y funciona correctamente...Aqui puedes verlo: dotnetfiddle.net/4QM8vn . O lo que quieres parsear es miércoles 6 de marzo de 2019 14:39:49 +0300?

    – Pikoh
    hace 3 horas








  • 1





    tu codigo funciona (retorna 10-03-2019 11:39:49)

    – patovega
    hace 3 horas






  • 1





    @Pikoh debe querer pasar miércoles 6 de marzo de 2019 14:39:49 +0300 a datetime

    – patovega
    hace 3 horas






  • 1





    tbn es muy raro recibir las fechas de un API con ese formato, por lo regular siempre se utilizan formatos de fecha internacional

    – Orlando De La Rosa
    hace 3 horas






  • 1





    Documentación oficial: docs.microsoft.com/es-es/dotnet/standard/base-types/…

    – fredyfx
    hace 3 horas














  • 1





    Estás seguro? Yo acabo de probar tu código y funciona correctamente...Aqui puedes verlo: dotnetfiddle.net/4QM8vn . O lo que quieres parsear es miércoles 6 de marzo de 2019 14:39:49 +0300?

    – Pikoh
    hace 3 horas








  • 1





    tu codigo funciona (retorna 10-03-2019 11:39:49)

    – patovega
    hace 3 horas






  • 1





    @Pikoh debe querer pasar miércoles 6 de marzo de 2019 14:39:49 +0300 a datetime

    – patovega
    hace 3 horas






  • 1





    tbn es muy raro recibir las fechas de un API con ese formato, por lo regular siempre se utilizan formatos de fecha internacional

    – Orlando De La Rosa
    hace 3 horas






  • 1





    Documentación oficial: docs.microsoft.com/es-es/dotnet/standard/base-types/…

    – fredyfx
    hace 3 horas








1




1





Estás seguro? Yo acabo de probar tu código y funciona correctamente...Aqui puedes verlo: dotnetfiddle.net/4QM8vn . O lo que quieres parsear es miércoles 6 de marzo de 2019 14:39:49 +0300?

– Pikoh
hace 3 horas







Estás seguro? Yo acabo de probar tu código y funciona correctamente...Aqui puedes verlo: dotnetfiddle.net/4QM8vn . O lo que quieres parsear es miércoles 6 de marzo de 2019 14:39:49 +0300?

– Pikoh
hace 3 horas






1




1





tu codigo funciona (retorna 10-03-2019 11:39:49)

– patovega
hace 3 horas





tu codigo funciona (retorna 10-03-2019 11:39:49)

– patovega
hace 3 horas




1




1





@Pikoh debe querer pasar miércoles 6 de marzo de 2019 14:39:49 +0300 a datetime

– patovega
hace 3 horas





@Pikoh debe querer pasar miércoles 6 de marzo de 2019 14:39:49 +0300 a datetime

– patovega
hace 3 horas




1




1





tbn es muy raro recibir las fechas de un API con ese formato, por lo regular siempre se utilizan formatos de fecha internacional

– Orlando De La Rosa
hace 3 horas





tbn es muy raro recibir las fechas de un API con ese formato, por lo regular siempre se utilizan formatos de fecha internacional

– Orlando De La Rosa
hace 3 horas




1




1





Documentación oficial: docs.microsoft.com/es-es/dotnet/standard/base-types/…

– fredyfx
hace 3 horas





Documentación oficial: docs.microsoft.com/es-es/dotnet/standard/base-types/…

– fredyfx
hace 3 horas










3 respuestas
3






activas

más antiguas

votos


















2














Tienes varias cosas mal. Por un lado,la cadena de parseo debe ser "dddd d 'de' MMMM 'de' yyyy HH:mm:ss zzzz".




dddd - día de la semana en formato largo



d- día del mes



'de' - la cadena de exactamente



MMMM - Mes en formato largo



yyyy - año con 4 dígitos



HH:mm:ss - hora en formato 24 h



zzzz - zona horaria




Por otro, en lugar de InvariantCulture debes usar CurrentCulture o una cultura en español (por ejemplo, CultureInfo.GetCultureInfo("es-es")) para que funcione:



var fecha=DateTime.ParseExact("miércoles 6 de marzo de 2019 14:39:49 +0300",
new string { "dddd d 'de' MMMM 'de' yyyy HH:mm:ss zzzz" },
CultureInfo.CurrentCulture, DateTimeStyles.AdjustToUniversal);





compartir|mejorar esta respuesta

































    1














    Esa fecha que te llega esta en inglés, y si por defecto donde corres el código la culturización está en español te puede dar problemas, lo mejor es siempre tratar de utilizar una cultura en específico en tu caso sería inglés.



    Te dejo un ejemplo:



    DateTime.ParseExact("Sun, 10 Mar 2019 14:39:49 +0300", 
    new string { "ddd, dd MMM yyyy HH:mm:ss zzzz" },
    CultureInfo.GetCultureInfo("en-us"), DateTimeStyles.AdjustToUniversal);





    compartir|mejorar esta respuesta































      0














      Para DateTime



      DateTime datetimetime = Convert.ToDateTime("miércoles 6 de marzo de 2019 14:39:49 +0300");


      Para DateTimeOffset



         DateTimeOffset datetimeoffset = DateTimeOffset.Parse("miércoles 6 de marzo de 2019 14:39:49 +0300");





      compartir|mejorar esta respuesta

























        Tu Respuesta






        StackExchange.ifUsing("editor", function () {
        StackExchange.using("externalEditor", function () {
        StackExchange.using("snippets", function () {
        StackExchange.snippets.init();
        });
        });
        }, "code-snippets");

        StackExchange.ready(function() {
        var channelOptions = {
        tags: "".split(" "),
        id: "637"
        };
        initTagRenderer("".split(" "), "".split(" "), channelOptions);

        StackExchange.using("externalEditor", function() {
        // Have to fire editor after snippets, if snippets enabled
        if (StackExchange.settings.snippets.snippetsEnabled) {
        StackExchange.using("snippets", function() {
        createEditor();
        });
        }
        else {
        createEditor();
        }
        });

        function createEditor() {
        StackExchange.prepareEditor({
        heartbeatType: 'answer',
        autoActivateHeartbeat: false,
        convertImagesToLinks: false,
        noModals: true,
        showLowRepImageUploadWarning: true,
        reputationToPostImages: null,
        bindNavPrevention: true,
        postfix: "",
        imageUploader: {
        brandingHtml: "Impulsado por u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
        contentPolicyHtml: "Contribuciones del usuario con licencia u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 con atribuciu0026#243;n requeridau003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(polu0026#237;tica de contenido)u003c/au003e",
        allowUrls: true
        },
        onDemand: true,
        discardSelector: ".discard-answer"
        ,immediatelyShowMarkdownHelp:true
        });


        }
        });














        borrador guardado

        borrador descartado


















        StackExchange.ready(
        function () {
        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fes.stackoverflow.com%2fquestions%2f244686%2fparsear-datetime-a-un-string-c%23new-answer', 'question_page');
        }
        );

        Publicar como invitado















        Requerido, nunca se muestra

























        3 respuestas
        3






        activas

        más antiguas

        votos








        3 respuestas
        3






        activas

        más antiguas

        votos









        activas

        más antiguas

        votos






        activas

        más antiguas

        votos









        2














        Tienes varias cosas mal. Por un lado,la cadena de parseo debe ser "dddd d 'de' MMMM 'de' yyyy HH:mm:ss zzzz".




        dddd - día de la semana en formato largo



        d- día del mes



        'de' - la cadena de exactamente



        MMMM - Mes en formato largo



        yyyy - año con 4 dígitos



        HH:mm:ss - hora en formato 24 h



        zzzz - zona horaria




        Por otro, en lugar de InvariantCulture debes usar CurrentCulture o una cultura en español (por ejemplo, CultureInfo.GetCultureInfo("es-es")) para que funcione:



        var fecha=DateTime.ParseExact("miércoles 6 de marzo de 2019 14:39:49 +0300",
        new string { "dddd d 'de' MMMM 'de' yyyy HH:mm:ss zzzz" },
        CultureInfo.CurrentCulture, DateTimeStyles.AdjustToUniversal);





        compartir|mejorar esta respuesta






























          2














          Tienes varias cosas mal. Por un lado,la cadena de parseo debe ser "dddd d 'de' MMMM 'de' yyyy HH:mm:ss zzzz".




          dddd - día de la semana en formato largo



          d- día del mes



          'de' - la cadena de exactamente



          MMMM - Mes en formato largo



          yyyy - año con 4 dígitos



          HH:mm:ss - hora en formato 24 h



          zzzz - zona horaria




          Por otro, en lugar de InvariantCulture debes usar CurrentCulture o una cultura en español (por ejemplo, CultureInfo.GetCultureInfo("es-es")) para que funcione:



          var fecha=DateTime.ParseExact("miércoles 6 de marzo de 2019 14:39:49 +0300",
          new string { "dddd d 'de' MMMM 'de' yyyy HH:mm:ss zzzz" },
          CultureInfo.CurrentCulture, DateTimeStyles.AdjustToUniversal);





          compartir|mejorar esta respuesta




























            2












            2








            2







            Tienes varias cosas mal. Por un lado,la cadena de parseo debe ser "dddd d 'de' MMMM 'de' yyyy HH:mm:ss zzzz".




            dddd - día de la semana en formato largo



            d- día del mes



            'de' - la cadena de exactamente



            MMMM - Mes en formato largo



            yyyy - año con 4 dígitos



            HH:mm:ss - hora en formato 24 h



            zzzz - zona horaria




            Por otro, en lugar de InvariantCulture debes usar CurrentCulture o una cultura en español (por ejemplo, CultureInfo.GetCultureInfo("es-es")) para que funcione:



            var fecha=DateTime.ParseExact("miércoles 6 de marzo de 2019 14:39:49 +0300",
            new string { "dddd d 'de' MMMM 'de' yyyy HH:mm:ss zzzz" },
            CultureInfo.CurrentCulture, DateTimeStyles.AdjustToUniversal);





            compartir|mejorar esta respuesta















            Tienes varias cosas mal. Por un lado,la cadena de parseo debe ser "dddd d 'de' MMMM 'de' yyyy HH:mm:ss zzzz".




            dddd - día de la semana en formato largo



            d- día del mes



            'de' - la cadena de exactamente



            MMMM - Mes en formato largo



            yyyy - año con 4 dígitos



            HH:mm:ss - hora en formato 24 h



            zzzz - zona horaria




            Por otro, en lugar de InvariantCulture debes usar CurrentCulture o una cultura en español (por ejemplo, CultureInfo.GetCultureInfo("es-es")) para que funcione:



            var fecha=DateTime.ParseExact("miércoles 6 de marzo de 2019 14:39:49 +0300",
            new string { "dddd d 'de' MMMM 'de' yyyy HH:mm:ss zzzz" },
            CultureInfo.CurrentCulture, DateTimeStyles.AdjustToUniversal);






            compartir|mejorar esta respuesta














            compartir|mejorar esta respuesta



            compartir|mejorar esta respuesta








            editada hace 3 horas

























            respondida hace 3 horas









            PikohPikoh

            13.4k62747




            13.4k62747

























                1














                Esa fecha que te llega esta en inglés, y si por defecto donde corres el código la culturización está en español te puede dar problemas, lo mejor es siempre tratar de utilizar una cultura en específico en tu caso sería inglés.



                Te dejo un ejemplo:



                DateTime.ParseExact("Sun, 10 Mar 2019 14:39:49 +0300", 
                new string { "ddd, dd MMM yyyy HH:mm:ss zzzz" },
                CultureInfo.GetCultureInfo("en-us"), DateTimeStyles.AdjustToUniversal);





                compartir|mejorar esta respuesta




























                  1














                  Esa fecha que te llega esta en inglés, y si por defecto donde corres el código la culturización está en español te puede dar problemas, lo mejor es siempre tratar de utilizar una cultura en específico en tu caso sería inglés.



                  Te dejo un ejemplo:



                  DateTime.ParseExact("Sun, 10 Mar 2019 14:39:49 +0300", 
                  new string { "ddd, dd MMM yyyy HH:mm:ss zzzz" },
                  CultureInfo.GetCultureInfo("en-us"), DateTimeStyles.AdjustToUniversal);





                  compartir|mejorar esta respuesta


























                    1












                    1








                    1







                    Esa fecha que te llega esta en inglés, y si por defecto donde corres el código la culturización está en español te puede dar problemas, lo mejor es siempre tratar de utilizar una cultura en específico en tu caso sería inglés.



                    Te dejo un ejemplo:



                    DateTime.ParseExact("Sun, 10 Mar 2019 14:39:49 +0300", 
                    new string { "ddd, dd MMM yyyy HH:mm:ss zzzz" },
                    CultureInfo.GetCultureInfo("en-us"), DateTimeStyles.AdjustToUniversal);





                    compartir|mejorar esta respuesta













                    Esa fecha que te llega esta en inglés, y si por defecto donde corres el código la culturización está en español te puede dar problemas, lo mejor es siempre tratar de utilizar una cultura en específico en tu caso sería inglés.



                    Te dejo un ejemplo:



                    DateTime.ParseExact("Sun, 10 Mar 2019 14:39:49 +0300", 
                    new string { "ddd, dd MMM yyyy HH:mm:ss zzzz" },
                    CultureInfo.GetCultureInfo("en-us"), DateTimeStyles.AdjustToUniversal);






                    compartir|mejorar esta respuesta












                    compartir|mejorar esta respuesta



                    compartir|mejorar esta respuesta










                    respondida hace 3 horas









                    Orlando De La RosaOrlando De La Rosa

                    1,324413




                    1,324413























                        0














                        Para DateTime



                        DateTime datetimetime = Convert.ToDateTime("miércoles 6 de marzo de 2019 14:39:49 +0300");


                        Para DateTimeOffset



                           DateTimeOffset datetimeoffset = DateTimeOffset.Parse("miércoles 6 de marzo de 2019 14:39:49 +0300");





                        compartir|mejorar esta respuesta






























                          0














                          Para DateTime



                          DateTime datetimetime = Convert.ToDateTime("miércoles 6 de marzo de 2019 14:39:49 +0300");


                          Para DateTimeOffset



                             DateTimeOffset datetimeoffset = DateTimeOffset.Parse("miércoles 6 de marzo de 2019 14:39:49 +0300");





                          compartir|mejorar esta respuesta




























                            0












                            0








                            0







                            Para DateTime



                            DateTime datetimetime = Convert.ToDateTime("miércoles 6 de marzo de 2019 14:39:49 +0300");


                            Para DateTimeOffset



                               DateTimeOffset datetimeoffset = DateTimeOffset.Parse("miércoles 6 de marzo de 2019 14:39:49 +0300");





                            compartir|mejorar esta respuesta















                            Para DateTime



                            DateTime datetimetime = Convert.ToDateTime("miércoles 6 de marzo de 2019 14:39:49 +0300");


                            Para DateTimeOffset



                               DateTimeOffset datetimeoffset = DateTimeOffset.Parse("miércoles 6 de marzo de 2019 14:39:49 +0300");






                            compartir|mejorar esta respuesta














                            compartir|mejorar esta respuesta



                            compartir|mejorar esta respuesta








                            editada hace 3 horas

























                            respondida hace 3 horas









                            patovegapatovega

                            57939




                            57939






























                                borrador guardado

                                borrador descartado




















































                                ¡Gracias por contribuir en StackOverflow en español con una respuesta!


                                • Por favor, asegúrate de responder a la pregunta. ¡Proporciona información y comparte tu investigación!

                                Pero evita



                                • Pedir ayuda o aclaraciones, o responder a otras respuestas.

                                • Hacer declaraciones basadas en opiniones; asegúrate de respaldarlas con referencias o con tu propia experiencia personal.


                                Para obtener más información, consulta nuestros consejos sobre cómo escribir grandes respuestas.




                                borrador guardado


                                borrador descartado














                                StackExchange.ready(
                                function () {
                                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fes.stackoverflow.com%2fquestions%2f244686%2fparsear-datetime-a-un-string-c%23new-answer', 'question_page');
                                }
                                );

                                Publicar como invitado















                                Requerido, nunca se muestra





















































                                Requerido, nunca se muestra














                                Requerido, nunca se muestra












                                Requerido, nunca se muestra







                                Requerido, nunca se muestra

































                                Requerido, nunca se muestra














                                Requerido, nunca se muestra












                                Requerido, nunca se muestra







                                Requerido, nunca se muestra







                                Popular posts from this blog

                                Plaza Victoria

                                In PowerPoint, is there a keyboard shortcut for bulleted / numbered list?

                                How to put 3 figures in Latex with 2 figures side by side and 1 below these side by side images but in...