Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Formato de datas americano no Azure

Seguinte galera, quando eu publico minha aplicação de teste no azure, naquelas opções gratuitas mesmo, eu faço alguns cadastros básicos. Mas quando vou exibir as datas, ele sempre exibe no formato americano. Eu utilizo o método Data.ToShortDateString() e ele retorna 6/31/2018.

Se colocar Data.ToString("dd/MM/yyyy") ele conserta, mas se eu tiver um milhão de datas, vou ter que fazer isso um milhão de vezes? D=

Vi nesse link uma esquema interessante, mas que por algum motivo não funcionou pra mim: http://www.stephanybatista.com/2017/07/26/cultura-pt-br-no-asp-net-core/

Se alguém puder ajudar, muito obrigado =D

4 respostas

Opa, Tiago. Tudo bom?

Você poderia compartilhar conosco seu Startup.cs? No mais, você está realizando os testes à partir de um cliente com cultura ptBr?

Siiimmm, com certeza mestre! =D




public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }
        public IConfiguration Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseBrowserLink();
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }

            app.UseStaticFiles();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });

            app.UseRequestLocalization(new RequestLocalizationOptions()
            {
                DefaultRequestCulture = new RequestCulture("pt-BR")
            });
        }
    }

É o mesmo código da aplicação modelo do visual studio. A única coisa que acrescentei foi

            app.UseRequestLocalization(new RequestLocalizationOptions()
            {
                DefaultRequestCulture = new RequestCulture("pt-BR")
            });

pra tentar corrigir. Acabei de subir a aplicação no azure, você pode alterar as datas no formulário pra ver como ela se comporta.

http://testedocker.azurewebsites.net/?data=2018-05-31

Vllllllllwwwwwwwww!!! =D

solução!

Bom dia, Tiago.

Eu testei a aplicação e deu certo quando eu movi a configuração app.UseRequestLocalization para o começo do método Configure. Mais especificamente, antes da configuração app.UseMvc.

Você não comentou sobre estar hospedando no Docker, mas eu estou assumindo pelo nome da aplicação (testedocker) e aqui funciona com o Docker também :)

Veja como ficou meu Configure:

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
        app.UseBrowserLink();
    }
    else
    {
        app.UseExceptionHandler("/Home/Error");
    }

    app.UseStaticFiles();

    app.UseRequestLocalization(new RequestLocalizationOptions()
    {
        DefaultRequestCulture = new RequestCulture("pt-BR")
    });

    app.UseMvc(routes =>
    {
        routes.MapRoute(
            name: "default",
            template: "{controller=Home}/{action=Index}/{id?}");
    });
}

Você poderia testar e dizer se funcionou?

Abs.

Desculpe pela demora na resposta (estou gravando mais cursos hehe)

Aeeeeeeeeeeeee!! Funfou!!!

Siiim, enquanto essa dúvida aqui é resolvida, estou terminando o curso de docker! hahahah

Vlw Guilherme!!

=DD