Ako je to tento kód C # od spoločnosti Mircrosoft existuje štandardný formát dátumu, ako je tento:
// R: Sun, 15 Jun 2008 21:15:07 GMT
Môj kód C # používa r takto:
webRequest.Date.ToUniversalTime().ToString("r")
Ako môžem vytvoriť štandardný formát dátumu, ako je tento v jazyku Java?
Mám to zatiaľ:
this.timestamp = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss z").format(new Date());
Ale ja neviem, či by som sa mal pokúsiť napísať niečo, čo sa bude páčiť, alebo či je lepšia cesta. Mojou obavou je, že urobím chybu a niektoré termíny nebudú fungovať.
odpovede:
4 pre odpoveď č. 1Ako môžem vytvoriť štandardný formát dátumu, ako je tento v jazyku Java?
Pozri na - dokumentáciu pre r
formát:
Vlastný formátový reťazec je "ddd, dd MMM yyyy HH": "mm": "ss" GMT "". Keď sa použije tento štandardný špecifikátor formátu, operácia formátovania alebo analýzy vždy používa nemennú kultúru.
[...] Preto aplikácia musí konvertovať hodnotu dátumu a času na UTC skôr, ako vykoná operáciu formátovania
Takže preložte reťazec vlastného formátu SimpleDateFormat
, * a uistite sa, že zadáte časové pásmo (UTC) a miestne nastavenie (americká angličtina je dostatočne blízka invariantnej kultúre):
DateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss "GMT"",
Locale.US);
format.setTimeZone(TimeZone.getTimeZone("UTC"));
String text = format.format(date);
To je, ak chcete prispôsobiť formát z .NET r
Formát. Osobne som namiesto toho chodil s formátom ISO-8601, napr.
DateFormat format = new SimpleDateFormat("yyyy-MM-dd"T"HH:mm:ss.SSS"Z"",
Locale.US);
format.setTimeZone(TimeZone.getTimeZone("UTC"));