Meny
Är gratis
registrering
Hem  /  Utbildning/ Php Ryska namn på månader. Datum och tid representation

Php ryska namn på månader. Datum och tid representation

JavaScript är blockerat i din webbläsare. Vänligen aktivera JavaScript för att webbplatsen ska fungera!

Datum och tid representation

V distribuerade system, såsom Internet, spelar tiden en speciell roll. På grund av en liten diskrepans i systemklockan kan en spelare på Forex-marknaden förlora tiotusentals dollar på några minuter; Business Intelligence-systemet kommer att göra ett misstag i prognoser; NNTP-servrar kommer att förlora sina viktig information krävs av användaren osv.

PHP innehåller många funktioner för att arbeta med datum och tid. De vanligaste är:

  • tid ()- returnerar den aktuella absoluta tiden. Detta antal är lika med antalet sekunder som har gått sedan midnatt den 1 januari 1970 (sedan UNIX-eran började).
  • getdate ()- läser upp information om datum och tid. Returnerar en associativ matris som innehåller information för den angivna tiden eller för den aktuella (som standard) tiden. Arrayen innehåller följande element:

    Exempel 1

    Använder getdate () $ val) echo "$ nyckel = $ val
    "; eka"
    Idag: $ d. $ D. $ D ";?>

    RESULTAT AV EXEMPEL 1:

    Sekunder = 21 minuter = 4 timmar = 12 mdag = 10 wdag = 4 mån = 11 år = 2005 yday = 313 veckodagar = Torsdag månad = 0 november = 1131613461 Idag: 2005-11-10

  • datum ()- formatering av datum och tid. Argument: formatsträng och absolut tid. Det andra argumentet är valfritt. Returnerar en sträng med det angivna eller aktuella datumet i det angivna formatet. Formatsträngen kan innehålla följande koder:
    a
    AInkluderad beteckning "AM" eller "PM"
    dMånadens dag (01-31)
    DFörkortat namn på veckodagen (tre bokstäver)
    FHela månadens namn
    gTimmar (12-timmarsformat utan inledande nollor)
    GTimmar (24-timmarsformat utan inledande nollor)
    hKlocka (12 timmars format)
    HKlocka (24-timmarsformat)
    iMinuter (00-59)
    jDag i månaden utan inledande nollor (1-31)
    lVeckodagens fullständiga namn
    LSkottår (0 eller 1)
    mMånad (01-12)
    MFörkortat månadsnamn (tre bokstäver)
    nMånad (1-12)
    ssekunder (00-59)
    tAntal dagar i en given månad (28 till 31)
    UAbsolut tid
    w
    yÅr (två siffror)
    YÅr (fyra siffror)
    zÅrets dag (0-365)
    ZTidszonförskjutning i sekunder (-43200 till 43200)

    All annan information som ingår i formatsträngen kommer att infogas i den returnerade strängen. Om du vill lägga till tecken i formatsträngen som är formatkoder i sig måste du föregå dem med ett omvänt snedstreck "\". Tecken som blir formatkoder när de läggs till med ett omvänt snedstreck måste föregås av två snedstreck framåt. Om du till exempel vill lägga till "n" till en sträng, anger du "\\ n" eftersom "\ n" är ett nyradstecken.

    Exempel 2

    Använder datum ()

    RESULTAT AV EXEMPEL 2:

    Idag: 10.11.05 13:03

  • mktime ()- returnerar den absoluta tiden, som sedan kan användas med funktionerna datum () eller getdate (). Accepterar upp till sex heltalsargument i följande ordning:

    Kolla på
    minuter
    sekunder
    månad
    dag i månaden
    år

    Exempel 3

    Använder mktime ()

    RESULTAT AV EXEMPEL 3:

  • kontrolldatum ()- kontrollera att datumet är korrekt. Argument: månad, dag, år. Returnerar sant om datumet är korrekt, d.v.s.
    månad - ett heltal från 1 till 12;
    day är ett heltal som inte överstiger det totala antalet dagar i en given månad. I det här fallet hanteras skottår på rätt sätt;
    år är ett heltal från 1 till 32767.

    Till exempel:

    If (! Checkdate ($ månad, 1, $ år)) ($ d = getdate (); $ månad = $ d; $ år = $ d;)

    Uppmärksamhet! Datumet kan vara inom ett giltigt intervall, men andra datumfunktioner accepterar inte detta värde. Så du kan inte använda mktime () i år före 1902, och du bör också använda det försiktigt i år före 1970.

  • strftime ()- bildning av lokalt datum och tid. Argument: formatsträng och absolut tid. Det andra argumentet är valfritt. Returnerar en sträng med det angivna eller aktuella datumet i det angivna formatet. I det här fallet extraheras namnen på månader och veckodagar från det språk som valts med hjälp av formatsträngsfunktionen kan innehålla följande koder:
    % aVeckodagens förkortade namn
    % AVeckodagens fullständiga namn
    % bFörkortat månadsnamn
    % BHela månadens namn
    % cÖnskat datum- och tidsformat
    % CÅrhundrade nummer
    % dDag i månaden (1-31)
    % DSamma som % m/% d/% y
    % eMånad (1-12)
    % hSamma som % b
    % HKlocka (24-timmarsformat)
    % IKlocka (12 timmars format)
    % jÅrets dag (0-365)
    % mMånad (1-12)
    % MMinuter
    % nNewline karaktär
    % pBeteckningen "am" eller "pm" ingår
    % rTid med a.m./p.m.-notation
    % RTid i 24-timmarsformat
    % Ssekunder (00-59)
    % tTab-tecken
    % TSamma som % H:% M:% S
    % uVeckodag nummer (1 - måndag, 7 - söndag)
    % UVeckans nummer. Nedräkningen börjar från och med årets första söndag
    % VISO 8601: 1988 veckonummer. Den första veckan måste ha minst fyra dagar och måndag anses vara den första dagen
    % WVeckans nummer. Nedräkningen börjar från och med årets första måndag
    % viktVeckodag nummer (0 - söndag, 6 - lördag)
    % xFöredraget datumformat utan tid
    % XFöredraget tidsformat utan datum
    % yÅr (två siffror)
    % YÅr (fyra siffror)
    % ZTidszon (namn eller förkortning)
    %% Symbol "%"

    All annan information som ingår i formatsträngen kommer att infogas i den returnerade strängen.

Kommentar: För de flesta system är giltiga datum 13 december 1901, 20:45:54 GMT till och med 19 januari 2038, 03:14:07 GMT. (Dessa datum motsvarar det lägsta och högsta värdet för ett 32-bitars signerat heltal.) För Windows är de giltiga datumen 1970-01-01 till 2038-01-19.

Kommentar: För att få en tidsstämpel från en strängrepresentation av ett datum kan du använda funktionen strtotime ()... Dessutom har vissa databaser sina egna funktioner för att konvertera den interna datumrepresentationen till en tidsstämpel (till exempel funktionen MySQL UNIX_TIMESTAMP).


$morgon = mktid (0, 0, 0, datum ("m"), datum ("d") + 1, datum ("Y"));
$ lastmonth = mktime (0, 0, 0, datum ("m") - 1, datum ("d"), datum ("Y"));
$ nästa år = mktid (0, 0, 0, datum ("m"), datum ("d"), datum ("Y") + 1);
?>

Kommentar: Denna metod är mer tillförlitlig än att subtrahera och lägga till sekunder till tidsstämpeln eftersom mktime () tar hänsyn till eventuella oklarheter i datumen (övergång till sommar-/vintertid etc.).

Här är några fler exempel på hur du använder funktionen datum ()... Kom ihåg att escape alla tecken som du vill att funktionen ska mata ut oförändrat. Detta gäller även tecken som finns i strömmen PHP-versioner erkänns inte som speciella, eftersom dessa tecken kan tilldelas en betydelse i framtida versioner. Använd enstaka citattecken för att undvika att konvertera \ n till ny rad.


Exempel 4. Formatering med datum ()

Ibland på webbplatsens sidor blir det nödvändigt att visa inte bara ett digitalt datum som t.ex 23.07.2015 , och genast det ryska datumet, i vilket månad kommer att skrivas ryskt namn... Och hon kommer att se ut så här 23 juli 2015.

Du frågar: "Varför är detta nödvändigt?" Och detta är först och främst nödvändigt för en bättre visuell uppfattning av datumet, eftersom det första datumformatet som redan är standard för många webbplatser, som bara består av siffror med prickar, uppfattas mycket sämre än när dagen och året separeras med ordet- månadens namn. I det här fallet kan du förstå mycket snabbare från vilket datum denna månad och år.

Men det som är mest intressant, den vanliga och ganska användbara datum-tid-funktionen datum () kan bara visa månadens namn på engelska språket (januari till december), det vill säga använd parametern F den här funktionen kommer inte att fungera för oss.

Här behöver vi ett annat tillvägagångssätt, som består i att ersätta månadens numeriska värde istället för (från 1 till 12) det ryska ordet för denna månad. Det låter komplicerat i ord, så jag föreslår att visa det aktuella datumet på detta sätt som ett exempel:

// lista över månader med namn som ska ersätta $ _monthsList = array (". 01." => "Januari", ".02." => "Februari", ".03." => "Mars", ".04 . "=>" april "," .05. "=>" maj "," .06. "=>" juni "," .07. "=>" juli "," .08. "=>" augusti " , ".09." => "September", ".10." => "Oktober", ".11." => "November", ".12." => "December"); // aktuellt datum $ currentDate = datum ("d.m.Y"); // variabeln $ currentDate lagrar nu det aktuella datumet i formatet 2015/07/22 // men eftersom vår uppgift är att visa det ryska datumet, // ersätter vi månadsdagen med namnet: $ _mD = date (". m."); // för att ersätta $ currentDate = str_replace ($ _ mD, "". $ _ monthsList [$ _ mD]. "", $ currentDate); // nu lagrar variabeln $ currentDate datumet i formatet 22 juni 2015

Ta bara ut en endast innevarande månad på ryska är det ännu lättare:

$ _monthsList = array ("1" => "Januari", "2" => "Februari", "3" => "Mars", "4" => "April", "5" => "Maj", "6" => "Juni", "7" => "Juli", "8" => "Augusti", "9" => "September", "10" => "Oktober", "11" => "November", "12" => "December"); $ månad = $ _monthsList; echo $ månad; // visar till exempel "juli" för den 7:e månaden

Tja, för vad som skulle vara till hands (detta är fortfarande en anteckning), överväg några fler verkliga exempel, som man i regel har att göra i praktiken. Låt oss göra dem till underrubriker för bekvämlighets skull.

Visning av månadens ryska namn i datumet för det vanliga formatet, till exempel 03/12/2015

Det här fallet är i princip nästan detsamma som det som beskrivs ovan, den enda skillnaden är att $ currentDate initialt sätts av koden tidigare. Och det kommer att se ut så här:

// aktuellt datum $ currentDate = "03/12/2015"; // kan tilldelas från en annan variabel // lista över månader med namn som ska ersätta $ _monthsList = array (". 01." => "Januari", ".02." => "Februari", ".03." = > "Mars", ".04." => "April", ".05." => "Maj", ".06." => "Juni", ".07." => "Juli", " 08. "=>" Augusti "," .09. "=>" September "," .10. "=>" Oktober "," .11. "=>" November "," .12. "=> "December"); // Vår uppgift är att visa det ryska datumet, // så vi ersätter dagen i månaden med namnet: $ _mD = datum (". M."); // för att ersätta $ currentDate = str_replace ($ _ mD, "". $ _ monthsList [$ _ mD]. "", $ currentDate); // nu lagrar variabeln $ currentDate datumet i formatet 12 mars 2015

Som ett resultat, efter lite manipulation, får vi rätt utgångsdatum.

Datumutmatning på ryska från unix-tidsstämpelformat, till exempel 1437556706

Att bearbeta ett sådant datum är det mest intressanta, eftersom här måste du kombinera teknikerna för att ändra det aktuella datumet och ett specifikt datum i digitalt format... Nämligen: vi måste först få datumet från tidsstämpeln (unix tidsstämpel), och sedan i detta datum ersätta månadsdagen med månadens ryska namn. Du kan göra så här:

// aktuellt datum i Unix-format TimeStamp $ _timestampDate = "1437556706"; // kan tilldelas från en annan variabel // översätta till ett normalt datum $ currentDate = date ("d.m.Y", $ _timestampDate); // från 1437556706 till 07.22.2015 // lista över månader med namn som ska ersätta $ _monthsList = array (". 01." => "Januari", ".02." => "Februari", ".03." = > "Mars", ".04." => "April", ".05." => "Maj", ".06." => "Juni", ".07." => "Juli", " 08. "=>" Augusti "," .09. "=>" September "," .10. "=>" Oktober "," .11. "=>" November "," .12. "=> "December"); // Vår uppgift är att visa det ryska datumet, // så vi ersätter dagen i månaden med namnet: $ _mD = datum (". M."); // för att ersätta $ currentDate = str_replace ($ _ mD, "". $ _ monthsList [$ _ mD]. "", $ currentDate); // nu lagrar variabeln $ currentDate datumet i formatet 22 juni 2015

Som ett resultat fick vi datumformatet vi behöver från tidsstämpeln. Allt som de ville.

Förresten, när jag jobbar med tidsstämpel hjälper mitt eget webbverktyg mig mycket. Det är gratis grejer, använd det för hälsan. Där kan du också lära dig mer om just denna Unix-tidsstämpel. Allt för dig =)

Tja, när det gäller utgången av datum / månad på ryska PHP-verktyg, då tror jag att ämnet är mer än avslöjat. Utforska, använd och var inte rädd för att experimentera!