Datetime-patronen

Er zijn verschillende veelvoorkomende scenario's voor het gebruik van datum/tijd in Databricks Runtime:

Patroontabel

Databricks Runtime gebruikt patroonletters in de volgende tabel voor het parseren en opmaken van datum- en tijdstempels:

Symbool Betekenis Stijl Voorbeelden
G Tijdperk tekst AD; Anno Domini
Y jaar jaar 2020; 20
D dag van het jaar getal(3) 189
M/L maand van jaar maand 7; 07; Juli; Juli
d dag van maand getal(3) 28
Q/q kwartaal van jaar getal/tekst 3; 03; Q3; 3e kwartaal
E dag van week tekst Tue; Dinsdag
F uitgelijnde dag van de week in maand getal(1) 3
A am-pm-of-day am-pm PM
h clock-hour-of-am-pm (1-12) getal(2) 12
K uur-van-am-pm (0-11) getal(2) 0
K clock-hour-of-day (1-24) getal(2) 0
H uur van dag (0-23) getal(2) 0
m minuut van uur getal(2) 30
s seconde van minuut getal(2) 55
S breuk van seconde fraction 978
V tijdzone-id zone-id Amerika/Los_Angeles; Z; -08:30
Z tijdzonenaam zonenaam Pacific Standard Time; PST
O gelokaliseerde zone-offset offset-O GMT+8; GMT+08:00; UTC-08:00;
X zone-offset 'Z' voor nul offset-X Z; -08; -0830; -08:30; -083015; -08:30:15;
x zone-offset offset-x +0000; -08; -0830; -08:30; -083015; -08:30:15;
Z zone-offset offset-Z +0000; -0800; -08:00;
escape voor tekst scheidingsteken
‘’ enkel aanhalingsteken Letterlijke
[ optionele sectie starten
] optionele sectie-einde

Het aantal patroonletters bepaalt de notatie.

  • Tekst: De tekststijl wordt bepaald op basis van het aantal gebruikte patroonletters. In minder dan 4 patroonletters wordt de korte tekstvorm gebruikt, meestal een afkorting, bijvoorbeeld maandag van de dag van de week, die 'Mon' kan opleveren. Precies 4 patroonletters gebruiken het volledige tekstformulier, meestal de volledige beschrijving, bijvoorbeeld maandag van de dag van de week, kan 'maandag' opleveren. 5 of meer brieven mislukken.

  • Getal(n): De n hier geeft het maximumaantal letters aan dat dit type datum/tijd-patroon kan worden gebruikt. Als het aantal letters één is, wordt de waarde uitgevoerd met het minimale aantal cijfers en zonder opvulling. Anders wordt het aantal cijfers gebruikt als de breedte van het uitvoerveld, waarbij de waarde nul wordt opgevuld, indien nodig.

  • Getal/tekst: Als het aantal patroonletters 3 of hoger is, gebruikt u de bovenstaande tekstregels. Gebruik anders de bovenstaande nummerregels.

  • Breuk: Gebruik een of meer (maximaal 9) aaneengesloten 'S' tekens, bijvoorbeeld SSSSSSom het deel van de seconde te parseren en op te maken. Voor parseren kan de acceptabele breuklengte [1, het aantal aaneengesloten 'S'] zijn. Voor opmaak wordt de breuklengte opgevuld met het aantal aaneengesloten 'S' met nullen. Databricks Runtime ondersteunt datum/tijd van micro-of-seconde precisie, die maximaal 6 significante cijfers heeft, maar kan nano-of-seconde parseren met een overschreden deel afgekapt.

  • Jaar: Het aantal letters bepaalt de minimale veldbreedte waaronder opvulling wordt gebruikt. Als het aantal letters twee is, wordt een gereduceerd formulier met twee cijfers gebruikt. Voor afdrukken wordt hiermee de meest rechtse twee cijfers uitgevoerd. Voor parseren wordt dit geparseerd met behulp van de basiswaarde van 2000, wat resulteert in een jaar binnen het bereik van 2000 tot 2099. Als het aantal letters kleiner is dan vier (maar niet twee), wordt het teken alleen uitgevoerd voor negatieve jaren. Anders wordt het teken uitgevoerd als de padbreedte wordt overschreden wanneer 'G' niet aanwezig is. 7 of meer brieven mislukken.

  • Maand: Deze volgt de regel van getal/tekst. Het tekstformulier is afhankelijk van letters- 'M' geeft het 'standaardformulier' aan en 'L' is voor 'zelfstandig' formulier. Deze twee formulieren zijn alleen in bepaalde talen verschillend. In het Russisch is 'Июль' bijvoorbeeld de zelfstandige vorm van juli en is 'Июля' de standaardvorm. Hier volgen voorbeelden voor alle ondersteunde patroonletters:

    • 'M' of 'L': Maandnummer in een jaar vanaf 1. Er is geen verschil tussen 'M' en 'L'. Maand van 1 tot en met 9 wordt afgedrukt zonder opvulling.

      > SELECT date_format(date '1970-01-01', 'M');
        1
      
      > SELECT date_format(date '1970-12-01', 'L');
        12
      
    • 'MM' of 'LL': Maandnummer in een jaar vanaf 1. Nul opvulling wordt toegevoegd voor maand 1-9.

      > SELECT date_format(date '1970-1-01', 'LL');
        01
      
      > SELECT date_format(date '1970-09-01', 'MM');
        09
      
    • 'MMM': Korte tekstuele weergave in het standaardformulier. Het maandpatroon moet deel uitmaken van een datumpatroon, niet alleen een zelfstandige maand, behalve landinstellingen waarbij er geen verschil is tussen stand- en zelfstandige formulieren, zoals in het Engels.

      > SELECT date_format(date '1970-01-01', 'd MMM');
        1 Jan
      
      -- Passing a format pattern to to_csv()
      > SELECT to_csv(named_struct('date', date '1970-01-01'), map('dateFormat', 'dd MMM', 'locale', 'RU'));
        01 янв.
      
    • 'MMMM': volledige tekstuele maandweergave in het standaardformulier. Deze wordt gebruikt voor het parseren/opmaken van maanden als onderdeel van datums/tijdstempels.

      > SELECT date_format(date '1970-01-01', 'd MMMM');
        1 January
      
      -- Passing a format pttern to to_csv()
      > SELECT to_csv(named_struct('date', date '1970-01-01'), map('dateFormat', 'd MMMM', 'locale', 'RU'));
        1 января
      
  • am-pm: Dit levert de am-pm-of-day. Het aantal patroonletters moet 1 zijn.

  • Zone-id(V): Hiermee wordt de tijdzone-id weergegeven. Het aantal patroonletters moet 2 zijn.

  • Zonenamen(z): Hiermee wordt de tekstnaam van de tijdzone-id weergegeven. Als het aantal letters één, twee of drie is, wordt de korte naam uitgevoerd. Als het aantal letters vier is, wordt de volledige naam uitgevoerd. Vijf of meer brieven mislukken.

  • Offset X en x: Hiermee wordt de offset opgemaakt op basis van het aantal patroonletters. Eén letter voert alleen het uur uit, zoals +01, tenzij de minuut niet nul is, in welk geval de minuut ook wordt uitgevoerd, zoals '+0130'. Twee letters voeren het uur en de minuut uit, zonder dubbele punt, zoals +0130. Drie letters voeren het uur en de minuut uit, met een dubbele punt, zoals '+01:30'. Vier letters geven het uur en de minuut en de optionele seconde uit, zonder dubbele punt, zoals +013015. Vijf letters geven het uur en de minuut en de optionele seconde uit, met een dubbele punt, zoals '+01:30:15'. Zes of meer brieven mislukken. Patroonletter 'X' (hoofdletter) levert 'Z' op wanneer de offset nul is, terwijl patroonletter 'x' (kleine letter) de uitvoer '+00', '+0000' of '+00:00' uitvoert.

  • Offset O: Hiermee wordt de gelokaliseerde offset opgemaakt op basis van het aantal patroonletters. Eén letter voert de korte vorm van de gelokaliseerde verschuiving uit, die gelokaliseerde verschuivingstekst is, zoals GMT, met uur zonder voorloopnul, optionele minuut van 2 cijfers en seconde als deze niet-nul is en dubbele punt, bijvoorbeeld GMT+8. Vier letters voeren het volledige formulier uit, wat gelokaliseerde verschuivingstekst is, zoals GMT, met veld 2 cijfers en minuten, optioneel tweede veld als niet-nul en dubbele punt, bijvoorbeeld GMT+08:00. Elk ander aantal letters mislukt.

  • Offset Z: Hiermee wordt de offset opgemaakt op basis van het aantal patroonletters. Eén, twee of drie letters voert het uur en de minuut uit, zonder dubbele punt, zoals '+0130'. De uitvoer is +0000 wanneer de offset nul is. Vier letters leveren de volledige vorm van gelokaliseerde offset op, gelijk aan vier letters offset-O. De uitvoer is de bijbehorende gelokaliseerde offsettekst als de offset nul is. Vijf letters geven het uur, minuut, met optionele seconde als niet-nul, met dubbele punt. Als de offset nul is, wordt 'Z' uitgevoerd. Zes of meer brieven mislukken.

  • Optionele sectie begint en eindigt: gebruik [] deze optie om een optionele sectie te definiëren en mogelijk genest. Tijdens de opmaak worden alle geldige gegevens uitgevoerd, zelfs in de optionele sectie. Tijdens het parseren ontbreekt de hele sectie mogelijk in de geparseerde tekenreeks. Een optionele sectie wordt gestart [ en beëindigd met behulp ] van (of aan het einde van het patroon).

  • Symbolen van 'E', 'F', 'q' en 'Q' kunnen alleen worden gebruikt voor datum/tijd-opmaak, bijvoorbeeld date_format. Ze zijn niet toegestaan voor datum/tijd parseren, bijvoorbeeld to_timestamp.