Cześć, jak napisać w C# kod, który zwróci mi plik z datą dzień wcześniej?
Poniższy kod dla dzisiaj działa:
System.IO.Directory.GetFiles("ZmiennaFolderu","*.xlsx").OrderByDescending(Function(d) New FileInfo(d).CreationTime).ToList(0)
Chciałem zrobić coś analogicznego dla wczoraj i nie działa:
System.IO.Directory.GetFiles("ZmiennaFolderu","*.xlsx").OrderByDescending(Function(d) New FileInfo(d).CreationTime.AddDays(-1)).ToList(0)
 #programowanie #naukaprogramowania
Spider

@DerMirker pytałeś chatgtp :)?

Spider

using System;


class Program

{

static void Main()<br />

{<br />

    DateTime dzisiaj = DateTime.Now;<br />

    DateTime wczoraj = dzisiaj.AddDays(-1);<br />

    string nazwaPliku = $"plik_{wczoraj.ToString("yyyyMMdd")}.txt";<br />

    Console.WriteLine(nazwaPliku);<br />

}<br />

}

DerMirker

@Spider dzięki, ale potrzebuję to mieć w jednej linijce

DerMirker

@Spider zrobił to. Kod działa, jestem zdumiony


System.IO.Directory.GetFiles(ZmiennaFolderu, "*.xlsx").Where(Function(d) New FileInfo(d).CreationTime.Date = Date.Today.AddDays(-1)).OrderByDescending(Function(d) New FileInfo(d).CreationTime).FirstOrDefault()

Fox

@DerMirker czy ten kod dokonuje odjęcia o 1? Wiesz jaką datę ci zwróci jak będziesz miał 1 dzień miesiąca? 0.

Nie możesz po prostu generować tego pliku z aktualną datą i jej użyć jutro?

def

Nie znam c# ale to operuje na dacie, a nie dniu miesiaca, wiec wyglada ok

DerMirker

@Fox tak jak zauważył @def, kod odejmuje datę, a nie liczbę. Chyba że czegoś nie rozumiem.

Fox

@DerMirker rzeczywiście jeśli operuje na kalendarzu to pewnie zadziała, ale niech lepiej sprawdzi xD

Zaloguj się aby komentować