Jump to content

Distinção entre alturas do dia


LN10
 Share

Recommended Posts

Boa Noite.

Estou a criar uma área de cliente e queria que ela fizesse a distinção entre as três alturas do dia.

Tenho este código adaptado, mas ele só diz "Boa Noite" ou "Boa Tarde".

DateTime time = DateTime.Now;

            int hour = time.Hour;

            if (hour >= 07 && hour < 12)

                lblTempo.Text = "Bom Dia,";

            else if (hour >= 12 && hour < 19)

                lblTempo.Text = "Boa Tarde,";

            else if (hour >= 19 && hour < 07)

                lblTempo.Text = "Boa Noite,";

Gostaria de saber se me conseguem ajudar a corrigir os erros.

Pretendo que entre as 7 da manha e o meio-dia, diga "Bom Dia", entre o meio-dia e as 19 - "Boa Tarde" e das 19 às 7 da manha - "Boa Noite".

Link to comment
Share on other sites

A tua condição da "noite" nunca é verdadeira, porque nunca pode ser maior que 19 e menor que 7.

            int hour = DateTime.Now.Hour;
            if (hour >= 07 && hour < 12)
                lblTempo.Text = "Bom Dia,";
            else if (hour >= 12 && hour < 19)
                lblTempo.Text = "Boa Tarde,";
            else if (hour >= 19)
                lblTempo.Text = "Boa Noite,";      
            else if (hour < 7)
                lblTempo.Text = "Boa Noite,";
Link to comment
Share on other sites

Só como nota, também se pode usar o OR no último caso:

int hour = DateTime.Now.Hour;
if (hour >= 07 && hour < 12)
lblTempo.Text = "Bom Dia,";
else if (hour >= 12 && hour < 19)
lblTempo.Text = "Boa Tarde,";
else if (hour >= 19 || hour < 7)
lblTempo.Text = "Boa Noite,";

ou simplesmente por exclusão de partes, visto que todas as hipóteses já foram verificadas:

int hour = DateTime.Now.Hour;
if (hour >= 07 && hour < 12)
lblTempo.Text = "Bom Dia,";
else if (hour >= 12 && hour < 19)
lblTempo.Text = "Boa Tarde,";
else
lblTempo.Text = "Boa Noite,";

Nick antigo: softclean | Tens um projeto? | Wiki P@P

Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.