Czy istnieje standardowy format daty/czasu, który można przekazać do adresu URL?
Patrząc na dokumentację DateTimeformatinfo, wydaje się, że wszystkie standardowe formaty mają w nich dwukropek, co czyni je w URL nieprzyjemne/niemożliwe.
Czy istnieje znormalizowany format wysyłania datetime na adres URL, korzystnie taki, który może być automatycznie analizowany .NET?
Aktualizacja:
małe wyjaśnienie
Odbiorcą tych danych będzie jakaś usługa internetowa - będzie to albo prosty GET HTTP z tą wartością w ciągu żądania, albo REST z wartością gdzieś w adresie URL.
ISO 8601
http://en.wikipedia.org/wiki/I ... tions
reguluje formatowanie daty/czasu i zgodnie z artykułem wiki, użycie
ToString ("yyyyMMddTHHmmssZ")powinno być co najmniej zgodne ze standardami. Niestety nie jest pobierany automatycznie przez ASP.NET MVC (jeszcze niczego nie próbowałem). Tak czy inaczej, ASP.NET MVC również nie konwertuje automatycznie Tiki na datetime, co mnie zaskoczyło.
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
8 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Możesz zrobić coś takiego:
Albo możesz zrobić coś takiego:
Anonimowy użytkownik
Potwierdzenie od:
http://en.wikipedia.org/wiki/ ISO_8601
http://en.wikipedia.org/wiki/ISO_8601
Tylko upewnij się, że używasz go do pracy z dwukropkami.
Anonimowy użytkownik
Potwierdzenie od:
timestamp,
http://en.wikipedia.org/wiki/Unix_timestamp
ponieważ zawierają tylko liczby. Cm.
Ten artykuł
http://codeclimber.net.nz/arch ... .aspx
o sposobach konwertowania go na .NET DateTime.
Anonimowy użytkownik
Potwierdzenie od:
Wynik jest czytelny i byłbym zdziwiony, gdyby .NET nie miał instrukcji manipulacji na ciągach znaków, które mogłyby to zrobić łatwo.
Anonimowy użytkownik
Potwierdzenie od:
HttpServerUtility.HtmlEncode
http://msdn.microsoft.com/en-u ... .aspx
i
HttpServerUtility.HtmlDecode
http://msdn.microsoft.com/en-u ... .aspx
Anonimowy użytkownik
Potwierdzenie od:
DateTime.Ticks
http://msdn.microsoft.com/en-u ... .aspx
.
Jeśli chcesz tylko datę, użyj
HttpServerUtility.UrlEncode (date.ToShortDateString())
http://msdn.microsoft.com/en-u ... .aspx
.
Aktualizacja: Rick Strahl omawiał już ten problem i zasugerował rozwiązanie w
Twój blog
http://www.west-wind.com/weblog/posts/324917.aspx
.
Anonimowy użytkownik
Potwierdzenie od:
Istnieje konstruktor dla DateTime, który akceptuje liczbę taktów:
Istnieje również nadpisanie, które umożliwia mapowanie go na czas lokalny lub UTC. Wszystko to jest w dokumentach:
http://msdn.microsoft.com/en-us/ library/system.datetime.datetime.aspx
http://msdn.microsoft.com/en-u ... .aspx
Edit:
zrozumiałem ze sformułowania postu, że być może mówisz o ASP, która automatycznie konwertuje Tiki na DateTime, a nie o konieczności czytania parametru numerycznego. Może! :-)
Anonimowy użytkownik
Potwierdzenie od:
Po użyciu danych wyjściowych w parametrze żądania adresu URL wartość jest prawidłowo deserializowana przez .NET do obiektów DateTime przekazanych do mojej usługi interfejsu API sieci Web.