25. december 2007 - 23:02Der er
10 kommentarer og 1 løsning
konvertere dato uden årstal til dato format med korrekt årstal
jeg henter en dato fra en kilde som ikke oplyser årstal - underforstået at året altid er det næstkommende år - dvs. ligger datoen i indeværende år er årstallet 2007 . Er måneden derimod i januar skal årstallet så være 2008. Har c# noget indbygget i datetime som automatisk sætter årstallet sådan hvis kun dato og måned indsættes? eller vil nogen hjælpe med noget kode?
namespace E { public class Program { public static DateTime D(int m, int d) { DateTime now = DateTime.Now; int y = now.Year; if(m < now.Month || (m == now.Month && d < now.Day)) { y++; } return new DateTime(y, m, d); } public static void Main(string[] args) { Console.WriteLine(D(12, 26)); Console.WriteLine(D(12, 24)); Console.ReadKey(); } } }
Det er muligt at vi kan blive enige om det. Dog vil jeg hævde at opgaven, som den er stillet, ikke specificere hvad der faktisk skal ske.
Men hvis der skal smides en exception, er den kastede System.ArgumentOutOfRangeException vist ikke den naturlige exception. Den burde catches og enten throwes som en System.ArgumentException eller som en custom-exception som specificere hvad problemet præcist var.
fejlen kommer ikke til at opstå fordi jeg scraper dataen fra et site. De har formentlig styr på ikke at have en post som er sat til at ske d. 29/2 hvis der ikke er skudår.
Sådan en post kan de sagtens have i det kommende år. Den vil være lovlig frem til og med slutningen af februar. Derefter vil den foroversage en fejl.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.