Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    7

    [c#] Incrementare DateTime

    ho una tabella sql da cui prendo un record in formato DateTime,di questo valore vorrei memorizzare solo l'orario escludendo la data, e incrementarlo sequenzialmente con dei valori presi da un'altra tabella indicanti la durata del filmato (es. 00:30 , 01:30 ecc..) si può fare e se si come potrei procedere?
    Grazie a tutti

  2. #2
    se hai già una variabile DateTime basta passargli il metodo .addHours() nel tuo caso...

    esempio:

    codice:
    //prendo un timestamp sal sistema
    
    DateTime tempo = DateTime.Now;
    
    //creo un valore double per indicare 2 ore
    
    double incremento = double.Parse("2,0");
    
    //creo la nuova istanza modificata
    DateTime tempo2 = tempo.addHours(incremento);
    
    /*
    ho incrementato il valore di "tempo" (quello che potrebbe essere il tuo valore DateTime) di 2 ore.
    */

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    7
    grazie per la risposta, ma il mio problema è che devo aggiungere a un datetime prestabilito dei valori presenti in una tabella di un database, che sono in un formato tipo per es: 00:01:30 (per indicare i 1 minuto e 30secondi).. e guardando la documentazione ho trovato solo dei addhours addminutes ecc.. ma non capisco come potere adattarli al mio caso..

  4. #4
    prova cosi:

    codice:
    //converti il tuo valore in stringa
    string valoreTuo = tuaVariabile.ToString();
    
    DateTime valoreConvertito = DateTime.Parse(valoreTuo);
    
    //ora hai il tuo orario in formato DateTime gestibile da c#
    
    //creo un valore double per indicare 2 minuti
    double incremento = double.Parse("2,0");
    
    //creo la nuova istanza modificata
    DateTime tempo2 = tempo.AddMinutes(incremento);
    
    //ho incrementato la tua data di 2 minuti

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    7
    Grazie killex per il supporto, alla fine ho risolto cosi

    FileStream file = new FileStream("C:\\wmpub\\WMRoot\\testfileplay2.wsx", FileMode.Create, FileAccess.ReadWrite);
    StreamWriter sw2 = new StreamWriter(file);
    string queryString = "SELECT Filepath,Durata FROM risorse,programmazione WHERE Programmazione.PalinsestoID="+Session["ID"]+"AND Programmazione.ProgrammaID=Risorse.ProgrammaID";
    string queryString = "SELECT Filepath,Durata FROM risorse,programmazione WHERE Programmazione.PalinsestoID="+Session["ID"]+"AND Programmazione.ProgrammaID=Risorse.ProgrammaID";
    string queryString1 = "SELECT Dataora_inizio FROM Palinsesti WHERE Palinsesti.PalinsestoID=" + Session["ID"];
    SqlCommand command = new SqlCommand(queryString, connection);
    SqlCommand command1 = new SqlCommand(queryString1, connection);
    connection.Open();
    SqlDataReader reader1 = command1.ExecuteReader();
    reader1.Read();
    DateTime inizio = DateTime.Parse(string.Format("{0}", reader1[0]));
    reader1.Close();
    SqlDataReader reader = command.ExecuteReader();

    sw2.Write("<?wsx version=\"1.0\"?>\r\n");
    sw2.Write("<smil>\r\n");
    while (reader.Read())
    {
    sw2.Write("<media src=\" ");
    sw2.Write(String.Format("{0}", reader[0]));
    sw2.Write("\" noSkip=\"true\"");
    string date = (string.Format("{0}", reader[1]));
    string datehours = date.Substring(0, 2);
    string dateminutes = date.Substring(3, 2);
    string dateseconds = date.Substring(6, 2);
    double hours = Convert.ToDouble(datehours);
    double minutes = Convert.ToDouble(dateminutes);
    double seconds = Convert.ToDouble(dateseconds);
    inizio = inizio.AddHours(hours);
    inizio = inizio.AddMinutes(minutes);
    inizio = inizio.AddSeconds(seconds);
    sw2.Write("begin=\"wallclock(");
    sw2.Write("{0}", inizio.ToLongTimeString());
    sw2.Write(")\"/>\r\n");
    }
    reader.Close();
    connection.Close();
    sw2.Write("</smil>\r\n");
    sw2.Flush();
    sw2.Close();

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.