Sett tidssone i PHP

Sett tidssone i PHP

Tidssoneverdien er viktig for ethvert nettsted fordi dato- og tidsverdiene vises basert på denne verdien. PHP -skriptet bruker tidssonverdien til webserveren som standard. Denne tidssoneverdien kan endres ved å endre verdien av Dato.tidssone Direktiv i PHP.Inn jeg konfigurasjonsfil eller ved å legge til oppføringen for tidssoneverdi inne i .Htaccess fil eller bruk flere innebygde funksjoner. Ulike måter å sette tidssonverdien i PHP har blitt vist i denne opplæringen.

Angi tidssoneverdien ved å endre PHP.ini -fil

En av de enkleste måtene å sette standard tidssone på er ved å endre Dato.tidssone Direktiv i PHP.Inn jeg fil. Anta at du vil angi standard tidssone til 'Asia/Dhaka'. Åpne PHP.Inn jeg fil og søk etter plasseringen av Dato.tidssone direktiv. Endre linjen ved å bruke følgende linje:

Dato.TIMEZONE = 'Asia/Dhaka'


Lagre filen og start webserveren på nytt for å angi dato og klokkeslett for serveren basert på modifisert tidssoneverdi.

Angi tidssoneverdien ved å endre .Htaccess -fil

Endre .Htaccess -filen er en annen måte å angi standard tidssoneverdi. Åpne .htaccess -fil og legg til følgende linje for å angi standard tidssoneverdi til 'Asia/Dhaka':

php_value dato.Timezone 'Australia/Melbourne'


Lagre filen og start webserveren på nytt for å angi dato og klokkeslett for serveren basert på modifisert tidssoneverdi.

Angi tidssoneverdien ved å bruke date_default_timezone_set () -funksjon

Dato_default_timezone_set () er den innebygde PHP-funksjonen for å angi tidssoneverdien. Utgangen til alle innebygde funksjoner til PHP relatert til standard tidssone vil bli endret etter å ha endret tidssoneverdien ved å bruke dato_default_timezone_set () -funksjonen. Syntaks for denne funksjonen er gitt nedenfor:

Syntaks

bool date_default_timezone_set (String timezone)


Denne funksjonen har bare ett obligatorisk argument. Dette argumentet setter en bestemt tidssone. Det returnerer sant hvis den gyldige tidssonverdien blir gitt i argumentet. Ellers returnerer det falskt. Dato_default_timezone_get () -funksjonen brukes til å lese den nåværende tidssonverdien til serveren. Så denne funksjonen kan brukes til å sjekke tidssonen er satt riktig etter å ha angitt den nye tidssonen ved å bruke dato_default_timezone_set () -funksjonen.

Eksempel 1: Angi tidssonen ved å bruke date_default_timezone_set () -funksjon

Lag en PHP -fil med følgende skript for å angi standard tidssone til 'Asia/Dhaka' ved hjelp av dato_default_timezone_set () -funksjonen. Dato_default_timezone_get () -funksjonen har blitt brukt to ganger for å skrive ut tidssoneverdien før og etter bruk av date_default_timezone_set () -funksjonen.

// Skriv ut gjeldende tidssone
ekko "den nåværende tidssonen er "" . date_default_timezone_get () . ""
";
// Endre gjeldende tidssone
date_default_timezone_set ('Asia/dhaka');
// Skriv ut den endrede tidssonen
ekko "Den nåværende tidssonen endres til "". date_default_timezone_get () . """;
?>


Følgende utgang viser at standard tidsson var Utc, Og tidssonen har endret seg til Asia/Dhaka Etter å ha satt den nye tidssonen:

Angi tidssoneverdien ved å bruke INI_SET () -funksjonen

Ini_set () er en veldig nyttig funksjon av PHP for å endre ethvert PHP -direktiv ved å bruke et skript uten å få tilgang til PHP.ini -fil. Denne opplæringen diskuterte tidligere at datoen.Timezone 'direktiv som kreves for å endre for å endre gjeldende tidssoneverdi. Så, ini_set () -funksjonen kan brukes til å endre denne direktivverdien. Syntaks for denne funksjonen er gitt nedenfor:

Syntaks

streng | FALSE INI_SET (String $ Alternativ, String | Int | Float | Bool | NULL $ VERDI)


Funksjonens første argument tar direktivnavnet, og funksjonens andre argument tar verdien. Det returnerer en strengverdi ved suksess og en falsk på feil.

Eksempel 2: Angi tidssonen ved å bruke INI_SET () -funksjonen

Lag en PHP -fil med følgende skript som vil stille standard tidssone til 'America/Chicago' ved å bruke INI_SET () -funksjonen. Dato_default_timezone_get () -funksjonen har blitt brukt to ganger for å skrive ut tidssoneverdien før og etter bruk av ini_set ().

// Skriv ut gjeldende tidssone
ekko "den nåværende tidssonen er "" . date_default_timezone_get () . ""
";
// Endre gjeldende tidssone
ini_set ('Dato.Timezone ',' America/Chicago ');
// Skriv ut den endrede tidssonen
ekko "Den nåværende tidssonen endres til "". date_default_timezone_get () . """;
?>


Følgende utgang viser at standard tidsson var Utc, Og tidssonen har endret seg til 'Amerika/Chicago' Etter å ha satt den nye tidssonen:

Angi tidssoneverdien ved å bruke DateTimeZone -klasse

Å bruke DateTimeZone -klassen er en annen måte å endre standard tidssoneverdien til serveren. Bruken av denne klassen for å endre tidssonen er vist i følgende eksempel:

Eksempel 3: Angi tidssonen ved å bruke DateTimeZone -klasse

Opprett en PHP -fil med følgende skript som vil endre tidssoneverdien to ganger og skrive ut gjeldende dato og klokkeslett basert på gjeldende tidssoneverdi. Display () -funksjonen er definert i skriptet for å skrive ut gjeldende tidssoneverdi og gjeldende dato og tid basert på tidssonen. Det har blitt kalt for første gang for å vise utdataene basert på standard tidssone, som er 'UTC '. Det har blitt kalt andre gang for å vise utgangen basert på den endrede tidssonen, 'Asia/Dhaka'. Det har blitt kalt tredje gang å vise utdataene basert på den endrede tidssonen, som er 'Canada/Atlantic'.

// Opprett et dateobjekt
$ date = new DateTime ();
funksjonsdisplay ()

Global $ dato;
$ timezone = $ date-> getTimeZone ();
// Skriv ut gjeldende tidssone og datetime basert på tidssone
ekko "den nåværende tidssonen er "" . $ timezone-> getName ().""
";
ekko "Gjeldende dato og tid er" . $ date-> format ('d-m-y h: i: s') . ""
";

// samtalefunksjon for å skrive ut utdata basert på standard tidssone
vise();
// Endre tidssonen til 'Asia/Dhaka'
$ date-> setTimeZone (ny DateTimeZone ('Asia/Dhaka'));
// samtalefunksjon for å skrive ut utdata basert på den endrede tidssonen
vise();
// Endre tidssonen til 'Canada/Atlantic'
$ date-> setTimeZone (ny DateTimeZone ('Canada/Atlantic'));
// samtalefunksjon for å skrive ut utdata basert på den endrede tidssonen
vise();
?>


Følgende utgang vises etter å ha utført det forrige skriptet:

Konklusjon

Fem forskjellige måter å endre tidssoneverdien vises i denne opplæringen. Hvis PHP -brukeren ikke har tillatelse til å endre PHP.ini eller .Htaccess-filen, så kan brukeren bruke noen av de innebygde funksjonene som er diskutert i denne opplæringen for å endre tidssonverdien.