none
guardar archivo con fecha y hora RRS feed

  • Pregunta

  • buenas quisiera guardar un archivo con la fecha y hora exacta cuando lo descargue de la bd para evitar qe se sobreescriba, tengo esto de momento

     ExcelBL objBL = new ExcelBL();
                List<ExcelEN> lista = objBL.descargarExcel();
                string ruta = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
                if (lista.Count == 1)
                {
                    ExcelEN EN = lista[0];
                    File.WriteAllBytes(ruta + @"\prueba.xls", EN.Archivo);
                }
    como le agrego la fecha y hora con segundos, con la cponsideración que no todas las poc manejan la misma cultura , unas tienen español-españa, otras español-latinoamerica etc

    martes, 10 de mayo de 2016 20:53

Respuestas

  • Hola,

    [-] .. el Datetime.Now que devuelve,? es igual para todas las culturas?

    El Datetime.Now devuelve la fecha completa actual de la cultura en la que se encuentra ejecutando la aplicación, no todas las culturas devuelven el mismo resultado, ya que eso varía dependiendo la región :

                //Obtener el año según la región de Thai = Año 2559
                txtValor.Text = fecha.ToString("yyyy", CultureInfo.CreateSpecificCulture("th-TH"));

    Como puedes ver el resultado es el mismo solo en el formato, pero el valor varía.

    Puedes usar InvariantCulure, el cual no depende de ninguna región. (sus formatos toman como referencia el inglés)

    string filename = String.Concat("prueba_", 
                                    DateTime.Now.ToString("yyyyMMdd_hhmmss", CultureInfo.InvariantCulture),
                                    ".xls");
    //prueba_20160510_060132.xls


    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta Augusto C martes, 10 de mayo de 2016 23:21
    • Desmarcado como respuesta Augusto C martes, 10 de mayo de 2016 23:21
    • Marcado como respuesta Augusto C martes, 10 de mayo de 2016 23:21
    martes, 10 de mayo de 2016 23:03
  • hola

    podrias hacer

    string filename = string.Format("prueba{0:yyyyMMdd_hhmmss}.xls", DateTime.Now);
    
    string fullpath = Path.Combine(ruta, filename )
    
    File.WriteAllBytes(fullpath , EN.Archivo);


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Augusto C martes, 10 de mayo de 2016 23:21
    martes, 10 de mayo de 2016 21:05

Todas las respuestas

  • hola

    podrias hacer

    string filename = string.Format("prueba{0:yyyyMMdd_hhmmss}.xls", DateTime.Now);
    
    string fullpath = Path.Combine(ruta, filename )
    
    File.WriteAllBytes(fullpath , EN.Archivo);


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta Augusto C martes, 10 de mayo de 2016 23:21
    martes, 10 de mayo de 2016 21:05
  • hola

    podrias hacer

    string filename = string.Format("prueba{0:yyyyMMdd_hhmmss}.xls", DateTime.Now);
    
    string fullpath = Path.Combine(ruta, filename )
    
    File.WriteAllBytes(fullpath , EN.Archivo);


    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    el DatetimeNow que devuelve,? es igual para todas las culturas?
    martes, 10 de mayo de 2016 21:09
  • ?? alguien me lo puede aclarar?
    martes, 10 de mayo de 2016 21:51
  • Hola,

    [-] .. el Datetime.Now que devuelve,? es igual para todas las culturas?

    El Datetime.Now devuelve la fecha completa actual de la cultura en la que se encuentra ejecutando la aplicación, no todas las culturas devuelven el mismo resultado, ya que eso varía dependiendo la región :

                //Obtener el año según la región de Thai = Año 2559
                txtValor.Text = fecha.ToString("yyyy", CultureInfo.CreateSpecificCulture("th-TH"));

    Como puedes ver el resultado es el mismo solo en el formato, pero el valor varía.

    Puedes usar InvariantCulure, el cual no depende de ninguna región. (sus formatos toman como referencia el inglés)

    string filename = String.Concat("prueba_", 
                                    DateTime.Now.ToString("yyyyMMdd_hhmmss", CultureInfo.InvariantCulture),
                                    ".xls");
    //prueba_20160510_060132.xls


    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta Augusto C martes, 10 de mayo de 2016 23:21
    • Desmarcado como respuesta Augusto C martes, 10 de mayo de 2016 23:21
    • Marcado como respuesta Augusto C martes, 10 de mayo de 2016 23:21
    martes, 10 de mayo de 2016 23:03