Cara menggunakan php localtime

Bagaimana cara memodifikasi pengaturan PHP timezone untuk website saya?

Mengatur timezone website dengan hPanel dan fungsi PHP

Cara menggunakan php localtime

Ditulis oleh Shinta Theofani
Diperbarui lebih dari seminggu yang lalu

Konfigurasi waktu server global Anda tidak dapat diubah. Namun, Anda dapat menggunakan hPanel dan fungsi PHPuntuk mengatur zona waktu website.

Mengatur zona waktu di hPanel

Dari halaman Hosting Manage PHP Configuration, buka tab PHP options dan ubah value date.timezone:

Cara menggunakan php localtime

Kunjungi Time Zone Map untuk cek zona waktu yang sesuai wilayah Anda.

Simpan perubahan dengan mengklik tombol di bawah halaman. Zona waktu akan langsung diperbarui 🚀

Mengatur zona waktu dengan fungsi PHP

Selain menggunakan hPanel, Anda juga bisa mengatur zona waktu dengan fungsi PHP date_default_timezone_set. Lihat daftar zona waktu PHP yang tersedia, cari yang Anda butuhkan lalu masukkan kode berikut ke website (biasanya ke index.php):

<?php
date_default_timezone_set("Asia/Bangkok");
echo date_default_timezone_get();
?>

CATATAN:

  • Artikel PHP tentang fungsi date_default_timezone_set.

  • Tindakan ini hanya akan mengubah zona waktu file. Anda bisa menggunakan zona waktu yang berbeda untuk database

Fungsi PHP manakah yang dapat mengembalikan tanggal/waktu saat ini?

Waktu akan berlalu pada waktu server Anda. Solusi mudah untuk ini adalah dengan mengatur zona waktu secara manual dengan menggunakan date_default_timezone_set sebelum fungsi date() atau time() dipanggil ke.

Saya di Melbourne, Australia jadi saya punya sesuatu seperti ini:

date_default_timezone_set('Australia/Melbourne');

Atau contoh lain adalah LA - US :

date_default_timezone_set('America/Los_Angeles');

Anda juga dapat melihat zona waktu server saat ini melalui:

date_default_timezone_get();

Jadi sesuatu seperti:

$timezone = date_default_timezone_get();
echo "The current server timezone is: " . $timezone;

Jadi jawaban singkat untuk pertanyaan Anda adalah:

// Change the line below to your timezone!
date_default_timezone_set('Australia/Melbourne');
$date = date('m/d/Y h:i:s a', time());

Maka semua waktu akan ke zona waktu yang baru Anda atur :)

// Simply:
$date = date('Y-m-d H:i:s');

// Or:
$date = date('Y/m/d H:i:s');

// This would return the date in the following formats respectively:
$date = '2012-03-06 17:33:07';
// Or
$date = '2012/03/06 17:33:07';

/** 
 * This time is based on the default server time zone.
 * If you want the date in a different time zone,
 * say if you come from Nairobi, Kenya like I do, you can set
 * the time zone to Nairobi as shown below.
 */

date_default_timezone_set('Africa/Nairobi');

// Then call the date functions
$date = date('Y-m-d H:i:s');
// Or
$date = date('Y/m/d H:i:s');

// date_default_timezone_set() function is however
// supported by PHP version 5.1.0 or above.

Untuk referensi zona waktu, lihat Daftar Zona Waktu yang Didukung.

Karena PHP 5.2.0 Anda dapat melakukannya menggunakan OOP dan DateTime() juga (tentu saja jika Anda lebih suka OOP):

$now = new DateTime();
echo $now->format('Y-m-d H:i:s');    // MySQL datetime format
echo $now->getTimestamp();           // Unix Timestamp -- Since PHP 5.3

Dan untuk menentukan timezone:

$now = new DateTime(null, new DateTimeZone('America/New_York'));
$now->setTimezone(new DateTimeZone('Europe/London'));    // Another way
echo $now->getTimezone();

Referensi: Inilah tautan

Ini bisa lebih andal daripada hanya menambahkan atau mengurangi jumlah detik dalam sehari atau sebulan ke timestamp karena waktu musim panas.

Kode PHP

// Assuming today is March 10th, 2001, 5:16:18 pm, and that we are in the
// Mountain Standard Time (MST) Time Zone

$today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today = date("m.d.y");                         // 03.10.01
$today = date("j, n, Y");                       // 10, 3, 2001
$today = date("Ymd");                           // 20010310
$today = date('h-i-s, j-m-y, it is w Day');     // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   // it is the 10th day.
$today = date("D M j G:i:s T Y");               // Sat Mar 10 17:16:18 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:18 m is month
$today = date("H:i:s");                         // 17:16:18
$today = date("Y-m-d H:i:s");                   // 2001-03-10 17:16:18 (the MySQL DATETIME format)

PHP time () mengembalikan stempel waktu Unix saat ini. Dengan ini, Anda dapat menggunakan fungsi date () untuk memformatnya sesuai kebutuhan Anda.

$date = date('Format String', time());

Seperti yang disebutkan Paolo dalam komentar, argumen kedua berlebihan. Cuplikan berikut ini setara dengan yang di atas:

$date = date('Format String');

Anda dapat menggunakan variabel $_SERVER['REQUEST_TIME'] atau fungsi time(). Keduanya mengembalikan cap waktu Unix. 

Seringkali kedua solusi ini menghasilkan persis sama Unix Timestamp . Perbedaannya adalah $_SERVER['REQUEST_TIME'] mengembalikan cap waktu permintaan server terkini dan time() mengembalikan waktu saat ini. Ini mungkin membuat perbedaan kecil dalam akurasi tergantung pada aplikasi Anda, tetapi untuk sebagian besar kasus kedua solusi ini sudah cukup.

Berdasarkan contoh kode Anda di atas, Anda akan ingin memformat informasi ini setelah Anda mendapatkan Unix Timestamp . Tidak diformat Waktu unix terlihat seperti: 1232659628

Jadi untuk mendapatkan sesuatu yang berfungsi, Anda dapat menggunakan fungsi date() untuk memformatnya.

Referensi yang baik untuk cara menggunakan fungsi date() terletak di PHP Manual .

Sebagai contoh, kode berikut mengembalikan tanggal yang terlihat seperti ini: 01/22/2009 04:35:00 pm:

echo date("m/d/Y h:i:s a", time());

Fungsi PHP date dapat melakukan pekerjaan ini.

date ()

Keterangan:

string date(string $format [, int $timestamp = time()])

Mengembalikan string yang diformat sesuai dengan string format yang diberikan menggunakan cap waktu bilangan bulat yang diberikan atau waktu saat ini jika tidak ada cap waktu yang diberikan.

Contoh:

$today = date("F j, Y, g:i a");               // March 10, 2001, 5:16 pm
$today = date("m.d.y");                       // 03.10.01
$today = date("j, n, Y");                     // 10, 3, 2001
$today = date("Ymd");                         // 20010310
$today = date('h-i-s, j-m-y, it is w Day');   // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.'); // it is the 10th day.
$today = date("D M j G:i:s T Y");             // Sat Mar 10 17:16:18 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');   // 17:03:18 m is month
$today = date("H:i:s");                       // 17:16:18
$today = date("Y-m-d H:i:s");                 // 2001-03-10 17:16:18 (the MySQL DATETIME format)

 $date = new DateTime('now', new DateTimeZone('Asia/Kolkata'));
 echo $date->format('d-m-Y H:i:s');

Perbarui

 //Also get am/pm in datetime:
 echo $date->format('d-m-Y H:i:s a'); // output 30-12-2013 10:16:15 am

Untuk format tanggal, PHP date () Fungsi berguna.

Menggunakan:

$date = date('m/d/Y h:i:s a', time());

Berhasil.

echo date("d-m-Y H:i:sa");

Kode ini akan mendapatkan tanggal dan waktu server tempat kode berjalan.

Anda dapat menggunakan format ini juga:

$date = date("d-m-Y");

Atau

$date = date("Y-m-d H:i:s");

Menurut artikel Cara Mendapatkan Datetime Saat Ini (SEKARANG) dengan PHP, ada dua cara umum untuk mendapatkan tanggal saat ini. Untuk mendapatkan waktu sekarang (sekarang) dengan PHP, Anda dapat menggunakan kelas date dengan versi PHP apa pun, atau lebih baik kelas datetime dengan PHP> = 5.2.

Berbagai ekspresi format tanggal tersedia di sini.

Contoh menggunakan tanggal

Ungkapan ini akan kembali SEKARANG dalam format Y-m-d H:i:s.

<?php
    echo date('Y-m-d H:i:s');
?>

Contoh menggunakan kelas datetime

Ungkapan ini akan kembali SEKARANG dalam format Y-m-d H:i:s.

<?php
    $dt = new DateTime();
    echo $dt->format('Y-m-d H:i:s');
?>

<?php
echo "<b>".date('l\, F jS\, Y ')."</b>";
?>

Cetakan seperti ini 

Minggu, 9 Desember 2012  

ini sangat sederhana

echo $ date = date ('Y-m-d H: i: s');

<?php
// Assuming today is March 10th, 2001, 5:16:18 pm, and that we are in the
// Mountain Standard Time (MST) Time Zone

$today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today = date("m.d.y");                         // 03.10.01
$today = date("j, n, Y");                       // 10, 3, 2001
$today = date("Ymd");                           // 20010310
$today = date('h-i-s, j-m-y, it is w Day');     // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   // it is the 10th day.
$today = date("D M j G:i:s T Y");               // Sat Mar 10 17:16:18 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:18 m is month
$today = date("H:i:s");                         // 17:16:18
$today = date("Y-m-d H:i:s");                   // 2001-03-10 17:16:18 (the MySQL DATETIME format)
?>

date_default_timezone_set('Europe/Warsaw');
echo("<p class='time'>".date('H:i:s')."</p>");
echo("<p class='date'>".date('d/m/Y')."</p>");

date(format, timestamp)

Fungsi date mengembalikan string yang diformat sesuai dengan string format yang diberikan menggunakan cap waktu bilangan bulat yang diberikan atau waktu saat ini jika tidak ada cap waktu yang diberikan. Dengan kata lain, timestamp adalah opsional dan default ke nilai waktu ().

Dan parameternya adalah -

format - Diperlukan. Menentukan format cap waktu

timestamp - (Opsional) Menentukan timestamp. Default adalah tanggal dan waktu saat ini

Cara mendapatkan kencan sederhana

Parameter format yang diperlukan dari fungsi date() menentukan cara memformat date (or time).

Berikut beberapa karakter yang umum digunakan untuk kencan:

  1. d - Merupakan hari dalam sebulan (01 hingga 31)
  2. m - Merupakan sebulan (01 hingga 12)
  3. Y - Merupakan satu tahun (dalam empat digit)
  4. l (huruf kecil 'L') - Merupakan hari dalam seminggu

Karakter lain, seperti "/", ".", or "-" juga dapat disisipkan di antara karakter untuk menambahkan pemformatan tambahan.

Contoh di bawah ini memformat tanggal hari ini dengan tiga cara berbeda:

<?php
    echo "Today is " . date("Y/m/d") . "<br>";
    echo "Today is " . date("Y.m.d") . "<br>";
    echo "Today is " . date("Y-m-d") . "<br>";
    echo "Today is " . date("l");
?>

Beberapa tautan bermanfaat

  • gmdate () - Format a GMT/UTC tanggal/waktu
  • idate () - Format a .__ waktu/tanggal lokal sebagai integer
  • getdate () - Getdate/time informasi
  • getlastmod () - Dapatkan waktu modifikasi halaman terakhir
  • mktime () - Dapatkan Unix cap waktu untuk tanggal
  • strftime () - Format waktu/tanggal lokal sesuai dengan pengaturan lokal
  • time () - Return current Unix timestamp
  • strtotime () - Mengurai tentang deskripsi datetime teksual bahasa Inggris ke dalam Unix .__ timestamp
  • DateTime Standar Konstanta

Anda dapat menggunakan kode ini:

<?php
    $currentDateTime = date('Y-m-d H:i:s');
    echo $currentDateTime;
?>

Jika Anda ingin skala waktu yang berbeda, silakan gunakan:

$tomorrow  = mktime(0, 0, 0, date("m")  , date("d")+1, date("Y"));
$lastmonth = mktime(0, 0, 0, date("m")-1, date("d"),   date("Y"));
$nextyear  = mktime(0, 0, 0, date("m"),   date("d"),   date("Y")+1);

date_default_timezone_set("Asia/Calcutta");
echo date("Y/m/d H:i:s");

Format tanggal juga tergantung:

echo date("d/m/Y H:i:sa"); // 13/04/2017 19:38:15pm

Tetapkan zona waktu Anda:

date_default_timezone_set('Asia/Calcutta');

Kemudian panggil fungsi tanggal

$date = date('Y-m-d H:i:s');

Saya menemukan bahwa cara paling sederhana untuk mendapatkan waktu sekarang di PHP adalah sesuatu seperti ini.

//Prints out something like 10:00am Just be sure to set your timezone correctly.
date_default_timezone_set("America/Chicago");
$TIME = date('G:ia'); 

Cara sederhana lain adalah dengan mengambil cap waktu tanggal dan waktu saat ini. Gunakan fungsi mktime ():

$now = mktime(); // Return timestamp of the current time

Kemudian Anda dapat mengonversikan ini ke format tanggal lain:

//// Prints something like: Thursday 26th of January 2017 01:12:36 PM
echo date('l jS \of F Y h:i:s A',$now);

Lebih banyak format tanggal ada di sini: http://php.net/manual/en/function.date.php

Berikut adalah beberapa karakter yang sering digunakan untuk kali:

  1. h - format 12 jam dalam satu jam dengan nol di depan (01 hingga 12)
  2. i - Menit dengan nol di depan (00 hingga 59)
  3. s - Detik dengan nol depan (00 hingga 59)
  4. a - Meridiem Ante Huruf Kecil dan Post meridiem (pagi atau sore)

Dapatkan zona waktu Anda

<?php
    date_default_timezone_set("America/New_York");
    echo "The time is " . date("h:i:sa");
?>

Lihat ini (opsional)

<?php
    $d = mktime(11, 14, 54, 8, 12, 2014);
    echo "Created date is " . date("Y-m-d h:i:sa", $d);
?>

Untuk kencan

<?php
    echo "Today is " . date("Y/m/d") . ;
    echo "Today is " . date("Y.m.d") . ;
    echo "Today is " . date("Y-m-d") . ;
    echo "Today is " . date("l");
?>

Berikut beberapa karakter yang umum digunakan untuk kencan:

  1. d - Merupakan hari dalam sebulan (01 hingga 31)
  2. m - Merupakan sebulan (01 hingga 12)
  3. Y - Merupakan satu tahun (dalam empat digit)
  4. l (huruf kecil 'L') - Merupakan hari dalam seminggu

Sumber-W3-Sekolah

Jika Anda orang Bangladesh, dan jika Anda ingin mendapatkan waktu Dhaka maka gunakan ini:

$date = new DateTime();
$date->setTimeZone(new DateTimeZone("Asia/Dhaka"));
$get_datetime = $date->format('d.m.Y H:i:s');

// Set the default timezone to use. Available since PHP 5.1
date_default_timezone_set('UTC');


// Prints something like: Monday
echo date("l");

// Prints something like: Monday 8th of August 2016 03:12:46 PM
echo date('l jS \of F Y h:i:s A');

// Prints: July 1, 2016 is on a Saturday
echo "July 1, 2016 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2016));

/* Use the constants in the format parameter */
// Prints something like: Wed, 25 Sep 2013 15:28:57 -0700
echo date(DATE_RFC2822);

// Prints something like: 2016-07-01T00:00:00+00:00
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));

Jika Anda ingin mendapatkan tanggal seperti12-3-2016pisahkan setiap hari, bulan, dan nilai tahun, lalu salin dan tempel kode ini:

$day = date("d");
$month = date("m");
$year = date("y");
print "date" . $day . "-" . $month . "-" . $year;

PHP mengembalikan waktu saat ini dalam detik. Anda perlu memformatnya dalam format apa pun yang Anda inginkan.

<?php
    // time() returns current time in seconds
    $in_seconds = time();

    // strftime - Format a local time/date according to locale settings
    echo strftime("%m/%d/%y", $in_seconds);
?>

Referensi: http://php.net/manual/en/function.strftime.php

Kita dapat menggunakan fungsi date dan mengatur zona waktu default:

<?php
    date_default_timezone_set("Asia/Kolkata");
    echo "Today is " . date("Y/m/d") . "<br>";
    echo "Today is " . date("Y.m.d") . "<br>";
    echo "Today is " . date("Y-m-d") . "<br>";
    echo "Today is " . date("l");
    echo "The time is " . date("h:i:sa");
?>

Sangat sederhana

date_default_timezone_set('Asia/Kolkata');
$date = date('m/d/Y H:i:s', time());

Biasanya, fungsi ini untuk tanggal berguna untuk semua orang: date ("Y/m/d");

Tetapi waktu adalah sesuatu yang berbeda, karena fungsi waktu tergantung pada versi PHP atau tanggal sistem.

Jadi mungkin gunakan seperti ini untuk mendapatkan zona waktu kita sendiri:

$date = new DateTime('now', new DateTimeZone('Asia/Kolkata'));
echo $date->format('H:m:s');

Fungsi ini menunjukkan waktu 24 jam.

Cara terbaik untuk mendapatkan waktu dan tanggal saat ini adalah dengan fungsi date di PHP:

$date = date('FORMAT'); // FORMAT E.g.: Y-m-d H:i:s

$current_date = date('Y-m-d H:i:s');

Dengan cap waktu Unix:

$now_date = date('FORMAT', time()); // FORMAT Eg : Y-m-d H:i:s

Untuk mengatur zona waktu server:

date_default_timezone_set('Asia/Calcutta');

Daftar zona waktu yang berbeda adalah sini .

echo $today = date('y-m-d');

Ini akan mengembalikan tanggal hari ini.

Waktu server Linux dan zona waktu PHP () berbeda sebagai berikut:

<?php
    putenv("TZ=Asia/Kabul");
    $t = time();
    echo date('d/m/Y H:i:sa', $t);
?>