date -kommandoen tilbyr ikke noe slikt, noe som er litt trist siden RFC-3339 er moderne, utbredt, sunt format som brukes overalt (unntatt i e-post som verken er moderne eller tilregnelig). 
Min tidssoneforskyvning er for tiden -08: 00, så den enkleste formen for denne kommandoen skal skrive ut gjeldende tid som div id = «be714d4c7f»>
.
Kommentarer
Svar
 Det virker som om du kan gjøre flere formater ved å bruke bryteren til GNU-implementering av date (versjon 5.90 eller nyere), --rfc3339=. 
Eksempler
$ date --rfc-3339=date 2014-03-19 $ date --rfc-3339=seconds 2014-03-19 18:00:05-04:00 $ date --rfc-3339=ns 2014-03-19 18:00:08.179780629-04:00  Hvis du vil at T skal legges til, som et hack: 
$ date --rfc-3339=seconds | sed "s/ /T/" 2014-03-19T18:35:03-04:00 Hvis du vil ha det i millisekunder :
$ date --rfc-3339=ns | sed "s/ /T/; s/\(\....\).*\([+-]\)/\1\2/g" 2014-03-19T18:42:52.362-04:00 Referanser
Kommentarer
-  I disse dager er det ikke behov for hack for å få ' T '. --iso-8601' option accepts the same arguments as–rfc-3339`, og inkluderer ' T ' utgang.
-  Sed del s/\(\....\).*-/\1-/gskal væres/\(\....\).*\([+-]\)/\1\2/gfor også å jobbe øst for Atlanterhavet.
- @svante – takk for detaljer, løst.
-  @Eonil som faktisk ikke er riktig, sier RFC3339: NOTE: ISO 8601 defines date and time separated by "T".Mens RFC3339 lar deg bruke en plass i stedet. Les ietf.org/rfc/rfc3339.txt Avsnitt 5.6
- @ rwenz3l Min feil. Jeg har bare lest bare ABNF-delen og savnet notatene. Takk for at du påpekte det!
Svar
 Med GNU date (5.90 eller høyere): 
$ TZ=America/Anchorage date "+%FT%T.%N%:z" 2014-03-19T14:29:31.041119357-08:00  Erstatt %N med %3N for millisekunder, %6N i mikrosekunder … 
AFAIK, ingen av POSIX-, Unix- eller LSB-spesifikasjonene spesifiserer noen kommando som kan vise tider med del-sekunders granularitet, men brøkdelen er valgfri i RFC 3339.
 POSIX / Unix / LSB strftime støtter %z for å vise TZ-forskyvningen som -0800, så den mest bærbare du sannsynligvis kommer til å få er: 
 $ TZ=America/Anchorage perl -MPOSIX -le "$t = strftime "%Y-%m-%dT%T%z", localtime; $t =~ s/..$/:$&/; print $t" 2014-03-19T14:30:23-08:00 Svar
Du kan også formatere tiden i henhold til RFC3339 (ISO8601) enklere:
 $ date -u +"%Y-%m-%dT%H:%M:%SZ" 2016-11-08T08:52:55Z  
MERK: Dette skjemaet at brukes også i Label Schema Convention RC 1.0
Kommentarer
- At ' ikke er en gyldig RFC3339. Eran ' s svar på « dato +% Y-% m-% dT% T% z er riktig og færre tegn. Hvis du vil i UTC pass -u-flagg, som vil nullstille tidssone-forskyvningen.
-  Med -u-flagget er dette svaret riktig, ikke sant?
- @briceburg hvorfor er dette ikke gyldig RFC3339? I følge tools.ietf.org/html/rfc3339#section-5.6 ser det ut til å være riktig så vidt jeg kan se.
Svar
 GNU date har ISO-8601-format innebygd – er ikke det ganske nær eller identisk med RFC-3339? 
1065 % date --iso-8601=seconds 2014-03-19T16:51:16-0600 Kommentarer
- ISO-8601 tillater forskjellige formatting av datoer og klokkeslett, men jeg tror at OP ber spesielt om W3C Date format " Komplett dato pluss timer, minutter, sekunder og en desimalbrøk av et sekund ÅÅÅÅ-MM-DDThh: mm: ss.sTZD (f.eks. 1997-07-16T19: 20: 30.45 + 01: 00) " – W3C dato- og tidsformater .
Svar
Hva med gamle gode:
$ date +%Y-%m-%dT%T%z 2015-10-29T14:47:06+0200 Kommentarer
- Hvor er tidssoneinformasjonen?
- Dette fungerer både på mac og linux ' date '
- Hva med millisekunder?
-  rask merknad her, uten å åpne RFC, mangler tidssonesegmentet 0200et kolon, som kan bryte noen systemer som krever det.
-  @MikeMackintosh ' s merknad er relevant; utdataene som vises her er  ikke  en lovlig RFC 3339-dato. Tykktarmen i tidssonesegmentet kreves for RFC 3339; se definisjonen av time-numoffsetved tools.ietf.org/html/rfc3339#section-5.6 .
Svar
echo "Local date only:" date "+%Y-%m-%d" echo echo "Local date and time:" date "+%Y-%m-%dT%H:%M:%S%z" | sed "s@^.\{22\}@&:@" echo echo "UTC date and time:" date -u "+%Y-%m-%dT%H:%M:%SZ"  Disse kommandoene er POSIX-kompatible, med unntak av %z konverteringsspesifikasjonen. Imidlertid støttes %z og fungerer på samme måte i Linux, MacOS, FreeBSD, OpenBSD, NetBSD, DragonFlyBSD, Solaris, Minix og Haiku. Det fungerer også med verktøyene i Busybox, Toybox og sbase (suckless.org basesystemverktøy). Siden %z sender ut tidssoneforskyvningen i ±HHMM -format, trenger vi sed -røret for å legge til et kolon og endre det til ±HH:MM. 
 MERK: Kommandot Heirloom-prosjektet «s date har inkompatibel %z utgang: det skriver ikke ut et + -tegn. 
2013-09-05 14:58:33.102 -0800bortsett fra når det er Det er en eller annen grunn til at mellomrom ikke må brukes i det hele tatt.