Ich versuche, eine Datumszeichenkette zu nehmen und sie in ein spezifisches NSDate umzuwandeln (zB 1. Juli 1981), aber ich sehe nicht und Methoden, um das Datum einzustellen. Weiß jemand, wie man das erreicht? Vielleicht ein DateTime-Objekt in NSDate konvertieren?Create NSDate Monotouch
Antwort
Sie wollen an der NSDateFormatter Klasse suchen :)
Ihr Code wie folgt aussehen wird. . .
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MMM dd, yyyy HH:mm"];
NSDate *parsed = [formatter dateFromString:dateString];
S
PS Beispiel frei aus this question :)
public static DateTime NSDateToDateTime(MonoTouch.Foundation.NSDate date)
{
return (new DateTime(2001,1,1,0,0,0)).AddSeconds(date.SecondsSinceReferenceDate);
}
public static MonoTouch.Foundation.NSDate DateTimeToNSDate(DateTime date)
{
return MonoTouch.Foundation.NSDate.FromTimeIntervalSinceReferenceDate((date-(new DateTime(2001,1,1,0,0,0))).TotalSeconds);
}
kopiert Diese
Alex helfen sollte
Der einfachste Weg ist es von Datetime zu setzen.
REVISION: Die NSDate Konvertierungsoperatoren sind jetzt explizit, nicht mehr implizit! Ich habe das folgende Beispiel aktualisiert.
Wenn Sie den NSDate Prototyp sehen werden Sie zwei Operatoren finden:
public static explicit operator NSDate(DateTime dt);
public static explicit operator DateTime(NSDate d);
Diese beiden werden für Sie die Konvertierung tun.
Die explizite Konvertierung von NSDate in und aus DateTime ist ziemlich gut, aber Sie müssen beachten, dass NSDate immer eine UTC-Zeit ist und DateTime standardmäßig auf DateTimeKind.Unspecified (wenn aus der Datenbank gelesen) oder DateTimeKind.Locale (wenn festgelegt mit DateTime.Today). Der beste Weg, ohne komplizierte Zeitzonenberechnungen zu konvertieren ist, das richtige Datetimekind zu zwingen:
// Set NSDate:
DateTime date = DateTime.Parse("1981-07-01")
NSDate nsDate = (NSDate)DateTime.SpecifyKind(date, DateTimeKind.Utc);
// Get DateTime from NSDate:
date = DateTime.SpecifyKind((DateTime)nsDate, DateTimeKind.Unspecified);
Ich würde empfehlen, eine der folgenden Zeilen hinzuzufügen, um sicherzustellen, dass die korrekte Konvertierung von 'date = date.ToLocalTime();' perfekt funktioniert für mich zusätzlich zu dem, was Sie erwähnt haben. Danke für die Anleitung. – BRogers
'date = DateTime.SpecifyKind (nsDate, DateTimeKind.Unspecified);' Dies für mich gibt das falsche Datum –
Das funktionierte auch gut für mich. Vielen Dank! –
public NSDate ConvertDateTimeToNSDate(DateTime date)
{
DateTime newDate = TimeZone.CurrentTimeZone.ToLocalTime(
new DateTime(2001, 1, 1, 0, 0, 0));
return NSDate.FromTimeIntervalSinceReferenceDate(
(date - newDate).TotalSeconds);
}
public DateTime ConvertNsDateToDateTime(NSDate date)
{
DateTime newDate = TimeZone.CurrentTimeZone.ToLocalTime(
new DateTime(2001, 1, 1, 0, 0, 0));
return newDate.AddSeconds(date.SecondsSinceReferenceDate);
}
Quelle: https://theweeklybyte.wordpress.com/2014/05/27/convert-datetime-to-nsdate-and-back/
Try this:
private static NSDate DateTimeToNSDate(DateTime date)
{
NSCalendar calendar = NSCalendar.CurrentCalendar;
NSDateComponents comps = new NSDateComponents();
comps.Day = date.Day;
comps.Month = date.Month;
comps.Year = date.Year;
comps.Minute = date.Minute;
comps.Hour = date.Hour;
return calendar.DateFromComponents(comps);
}
- 1. NSDate Ergebnisse von - (NSDate *) DatumFromComponents: (NSDateComponents *) Comps
- 2. Vergleichen eines NSDate mit [NSDate date]
- 3. MonoTouch Fingerfarbenbeispiel
- 4. Monotouch-Lizenz
- 5. Monotouch - ReloadData()
- 6. Monotouch Fähigkeiten
- 7. NSDate Nullwert
- 8. Einfügen auf CommitEditingStyle Monotouch
- 9. Get Date Teile von einem NSDate-Wert
- 10. Monotouch - Füllen eines UIViewPicker
- 11. Monotouch - Windows Azure-Toolkit
- 12. Monotouch - Titel ändern Hintergrundfarbe
- 13. Codeabdeckung in monotouch
- 14. Monotouch UITableView mit Bildern
- 15. Wie funktioniert MonoTouch?
- 16. Hochkarätige MonoTouch-Apps?
- 17. Xamarin/monotouch UILabel multiline
- 18. UIDatePicker in Monotouch
- 19. MonoTouch Anwendung Build
- 20. AsParallel eine Monotouch App
- 21. Monotouch SecKeyChain.Add Rückkehr SecStatusCode.Param
- 22. Monotouch-Bindung für TouchJSON?
- 23. PerformSelector Monotouch Threading
- 24. Foto/Bildbetrachter für Monotouch
- 25. iOS4 Datenschutz in MonoTouch?
- 26. Monotouch - XML serialisieren
- 27. MonoTouch Migration Analyzer
- 28. Timer-Animation in Monotouch
- 29. Generischer Referenztyp Fehler Monotouch
- 30. NSDate von NSString
ich in Einstellung aussehen das Datum mit dem NSDateFormatter. Monotouch hat nicht alle Methoden von Ziel C, aber es sieht wie ein Schritt in die richtige Richtung aus. Danke Dean – Bryan
Ich habe nie selbst monotouch verwendet, aber anscheinend ist NSDateFormatter in Version 1.4.4 (http://monotouch.net/index.php?title=Releases/MonoTouch_1.4.4&highlight=NSDateFormatter) verfügbar. – deanWombourne