none
DateTime minutos e horas

    Question

  • Pessoal boa noite,

    Eu gostaria que fosse executado um método quando a hora e minuto atual for >= 15:00 && <= a 15:10

     

    Eu sei que assim seria com a data:
    if (DateTime.Now >= Convert.ToDateTime("05/08/2011") && <=("06/08/2011"))

    {
       //Executa o código
    }

    O problema é que eu preciso que seja executado todo dia, mais apenas que seja referência do a hora e o minuto. 

    Podem me ajuda,
    Vlw 

    Friday, August 05, 2011 9:10 PM

Answers

  • Rodrigo, n entendi  mto bem (acho q os outros tbm não),  vo por uma solução para o que con segui entender.


    DateTime hoje = DateTime.Now;

    if (hoje.Hour >= Convert.ToDateTime("00:00").Hour && hoje.Hour <= Convert.ToDateTime("01:00").Hour || hoje.Hour >= Convert.ToDateTime("22:00").Hour && hoje.Hour <= Convert.ToDateTime("23:00").Hour)
    {
         //Método

    }

     

    Abçs.

     

     

    Friday, August 12, 2011 10:00 PM
  • O que vc quer fazer? Saber se a hora esta entre 00:00 e 01:00 ou 22:00 e 23:00?

     

    Pode ser mais simples:

     

    DateTime hoje = DateTime.Now;
    
    if ((hoje.Hour >= Convert.ToDateTime("00:00") && hoje<= Convert.ToDateTime("01:00"))|| (hoje>= Convert.ToDateTime("22:00")&& hoje<= Convert.ToDateTime("23:00")))
    {
       //Método
    }
    

     

    Lembre que nao há precedencia de operadores booleanos

    Veja, vc fez : A && B || C && D

    Isso vai ser processado como pode ser visto abaixo

    1) A && B =E

    2) E || C= F

    3) F && D= G

     

    Eu creio que o que vc quer é:

    (A && B) || (C && D)

     

    Dai a operaçao é processada como se segue:

    1) A && B = E

    2) C && D= F

    3) E || F= G // operacao OR por ultimo. executa a operaçao sobre o resultado dos dois ANDs separadamente

     

    Atençao à isso.. pode ocasionar bugs no seu sistema

     

    Att

     

     

     

     

     

     


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    SOGI INFORMATIQUE LTÉE (http://www.sogi.com)
    Saturday, August 13, 2011 12:18 PM
    Moderator

All replies

  • usa evento time, vais ter de colcoar um timer no teu project e escreve la o codigo que keres
    One word frees us of all the weight and pain of life: that word is love.
    Friday, August 05, 2011 9:11 PM
  • Obrigado amigo, 
    Mas precisa ser algo assim:
    DateTime hoje = DateTime.Now;
    if (hoje.Hour >= 00 && hoje.Hour <= 01 || hoje.Hour >= 22 && hoje.Hour <= 23)
    {
         //Método
    }

    Porém com horas e minutos.

    Vlw 
    Friday, August 05, 2011 9:33 PM
  • qual e o problema?

    o metodo datatime date hora minutos: http://msdn.microsoft.com/en-us/library/aa326680(v=vs.71).aspx


    One word frees us of all the weight and pain of life: that word is love.
    Friday, August 05, 2011 9:49 PM
  • A melhor forma de fazer isso, é criar um serviço do windows que verifique a hora.

     

    dentro deste serviço vc utiliza a hora que voce quer no caso 15:00 e com um timer a cada x minutos ele verifica a hora, se for igual, ele chama esta tua aplicação.

     

    eu tive este problema e solucionei assim.

     

    se quiser posso mandar exemplos.


    --------------- Cléber Visual Studio C# ---------------
    Thursday, August 11, 2011 2:19 PM
  • Creio que a duvida do nosso colega nao seja como fazer para criar um evento temporal.. Creio que seja a comparaçao ela mesma.

    Veja o codigo:

          DateTime dt = DateTime.Now;
          DateTime dt1 = Convert.ToDateTime("10:00");
          DateTime dt2 = Convert.ToDateTime("11:10");
    
          if (dt >= dt1 && dt<dt2)
            Console.WriteLine("Hora de acordar!!");
    


    Note que quando  faço: DateTime dt1 = Convert.ToDateTime("10:00"); o .net automaticamente cria uma data completa baseada na data atual (no caso "11/AGO/2011 10:00")

    Att


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    SOGI INFORMATIQUE LTÉE (http://www.sogi.com)
    Thursday, August 11, 2011 2:43 PM
    Moderator
  • Rodrigo, n entendi  mto bem (acho q os outros tbm não),  vo por uma solução para o que con segui entender.


    DateTime hoje = DateTime.Now;

    if (hoje.Hour >= Convert.ToDateTime("00:00").Hour && hoje.Hour <= Convert.ToDateTime("01:00").Hour || hoje.Hour >= Convert.ToDateTime("22:00").Hour && hoje.Hour <= Convert.ToDateTime("23:00").Hour)
    {
         //Método

    }

     

    Abçs.

     

     

    Friday, August 12, 2011 10:00 PM
  • O que vc quer fazer? Saber se a hora esta entre 00:00 e 01:00 ou 22:00 e 23:00?

     

    Pode ser mais simples:

     

    DateTime hoje = DateTime.Now;
    
    if ((hoje.Hour >= Convert.ToDateTime("00:00") && hoje<= Convert.ToDateTime("01:00"))|| (hoje>= Convert.ToDateTime("22:00")&& hoje<= Convert.ToDateTime("23:00")))
    {
       //Método
    }
    

     

    Lembre que nao há precedencia de operadores booleanos

    Veja, vc fez : A && B || C && D

    Isso vai ser processado como pode ser visto abaixo

    1) A && B =E

    2) E || C= F

    3) F && D= G

     

    Eu creio que o que vc quer é:

    (A && B) || (C && D)

     

    Dai a operaçao é processada como se segue:

    1) A && B = E

    2) C && D= F

    3) E || F= G // operacao OR por ultimo. executa a operaçao sobre o resultado dos dois ANDs separadamente

     

    Atençao à isso.. pode ocasionar bugs no seu sistema

     

    Att

     

     

     

     

     

     


    William John Adam Trindade
    Analyste-programmeur
    ----------------------------------------------------------

    SOGI INFORMATIQUE LTÉE (http://www.sogi.com)
    Saturday, August 13, 2011 12:18 PM
    Moderator