Folgendes Szenario. Ich möchte aus der Datenbank Einträge ermitteln, welche an einem bestimmten Tag im Unix Timestamp Format gespeichert wurden.
Dieses möchte ich mit dem ToolboxElement “MonthCalendar” ermitteln.
Um einen ganzen Tag, also 00:00:00 – 23:59:59 herauszufinden, habe ich den gewählten Tag als Starttag und den Endzeitpunkt durch das Hinzurechnen von 86399 Sekunden (86400 Sekunden = 1 Tag), festgelegt.
Ich fügte dem MonthCalendar das Ereignis DateSelected zu und ich kann dort wie folgt das gewählte Datum anzeigen:
1 2 3 4 | private static DateTime choice = DateTime.Now; private static DateTime endchoice; choice = Convert.ToDateTime(e.Start.Year + "-" + e.Start.Month + "-" + e.Start.Day); endchoice = choice.AddSeconds(86399); |
Auf mein Submit Button der noch weitere Optionen mit an die LogicClass schickt, binde ich folgenden String mit ein:
1 | special += " AND `unixtime` BETWEEN '" + Config.Date2Timestamp(choice) + "' AND '" Config.Date2Timestamp(endchoice) + "' "; |
Die Methode, welche das Datum in TimeStamp wandelt (befindet sich in der class Config.cs) und lautet wie folgt:
1 2 3 4 5 6 7 8 | //Errechnet DateTime2Timestamp (Unixtime) public static int Date2Timestamp(DateTime dateNow) { var RefDate = new DateTime(1970, 1, 1); (Unixtime gilt ab 01.01.1970) var timestmp = new TimeSpan(dateNow.Ticks - RefDate.Ticks); // Sekunden errechnen return (Convert.ToInt32(timestmp.TotalSeconds)); } |
Wenn Du noch Fragen hast, versuche ich diese gerne zu beantworten.







