Jawaban:
Waktu akan berlalu pada waktu server Anda. Solusi yang mudah untuk ini adalah dengan secara manual mengatur zona waktu dengan menggunakan date_default_timezone_set
sebelum date()
atau time()
fungsi dipanggil.
Saya di Melbourne, Australia jadi saya punya sesuatu seperti ini:
date_default_timezone_set('Australia/Melbourne');
Atau contoh lain adalah LA - AS :
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 menggunakan DateTime()
kelas:
use \Datetime;
$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();
Datatime
namespace; Saya tidak ingat apakah itu yang terjadi pada tahun 2013 dan saya belum menulis kode PHP selama bertahun-tahun. Bagaimanapun, saran Anda tampaknya benar, jadi terima kasih lagi.
Referensi: Berikut ini tautannya
Ini bisa lebih andal daripada hanya menambah atau mengurangi jumlah detik dalam satu hari 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)
Waktu PHP () 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 $_SERVER['REQUEST_TIME']
variabel (tersedia sejak PHP 5.1.0) atau time()
fungsi untuk mendapatkan cap waktu Unix saat ini.
time()
fungsi tidak tergantung pada zona waktu. (Jadi menelepon date_default_timezone_set("your-particular-timezone");
sebelumnya tidak akan berpengaruh.)
Anda dapat menggunakan $_SERVER['REQUEST_TIME']
variabel atau time()
fungsinya. Keduanya mengembalikan cap waktu Unix.
Sebagian besar waktu kedua solusi ini akan menghasilkan Timestamp Unix yang sama persis . Perbedaan antara ini adalah yang $_SERVER['REQUEST_TIME']
mengembalikan cap waktu permintaan server terbaru dan time()
mengembalikan waktu saat ini. Ini dapat 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 cap waktu Unix . Waktu Unix yang belum diformat terlihat seperti:1232659628
Jadi untuk mendapatkan sesuatu yang berfungsi, Anda dapat menggunakan date()
fungsi untuk memformatnya.
Referensi yang baik untuk cara menggunakan date()
fungsi ini terletak di Manual PHP .
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());
$_SERVER['REQUEST_TIME']
?
Fungsi tanggal PHP dapat melakukan pekerjaan ini.
Deskripsi:
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');
Memperbarui
//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, fungsi PHP date () berguna.
ini sangat sederhana
echo $ date = date ('Ymd H: i: s');
Untuk programmer PHP baru mungkin bingung mengapa ada banyak metode untuk mendapatkan tanggal dan waktu saat ini dan mana yang akan digunakan dalam proyek mereka.
1. date
metode (PHP 4, PHP 5, PHP 7)
Ini adalah cara yang sangat umum dan sangat mudah untuk mendapatkan tanggal dan waktu di php.
// 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 2005 03:12:46 PM
echo date('l jS \of F Y h:i:s A');
// Prints: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));
/* 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: 2000-07-01T00:00:00+00:00
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
Anda dapat mempelajari lebih lanjut di sini
2. DateTime
kelas (PHP 5> = 5.2.0, PHP 7)
ketika Anda ingin menggunakan PHP dengan OOP, ini adalah cara terbaik untuk mendapatkan tanggal dan waktu.
<?php
// Specified date/time in your computer's time zone.
$date = new DateTime('2000-01-01');
echo $date->format('Y-m-d H:i:sP') . "\n";
// Specified date/time in the specified time zone.
$date = new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";
// Current date/time in your computer's time zone.
$date = new DateTime();
echo $date->format('Y-m-d H:i:sP') . "\n";
// Current date/time in the specified time zone.
$date = new DateTime(null, new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";
// Using a UNIX timestamp. Notice the result is in the UTC time zone.
$date = new DateTime('@946684800');
echo $date->format('Y-m-d H:i:sP') . "\n";
// Non-existent values roll over.
$date = new DateTime('2000-02-30');
echo $date->format('Y-m-d H:i:sP') . "\n";
?>
Anda dapat mempelajari lebih lanjut di sini
3. Paket waktu Tanggal Karbon
jika Anda menggunakan Komposer , Laravel , Symfony atau kerangka kerja apa pun ini adalah cara terbaik untuk mendapatkan tanggal dan waktu. Paket ini juga memperluas kelas DateTime di php sehingga Anda menggunakan semua metode di kelas Datetime. Kerangka kerja bawaan ini seperti laravel sehingga Anda tidak perlu menginstalnya secara terpisah.
printf("Right now is %s", Carbon::now()->toDateTimeString());
printf("Right now in Vancouver is %s", Carbon::now('America/Vancouver')); // automatically converted to string
$tomorrow = Carbon::now()->addDay();
$lastWeek = Carbon::now()->subWeek();
// Carbon embed 823 languages:
echo $tomorrow->locale('fr')->isoFormat('dddd, MMMM Do YYYY, h:mm');
echo $tomorrow->locale('ar')->isoFormat('dddd, MMMM Do YYYY, h:mm');
$officialDate = Carbon::now()->toRfc2822String();
$howOldAmI = Carbon::createFromDate(1975, 5, 21)->age;
$noonTodayLondonTime = Carbon::createFromTime(12, 0, 0, 'Europe/London');
$internetWillBlowUpOn = Carbon::create(2038, 01, 19, 3, 14, 7, 'GMT');
if (Carbon::now()->isWeekend()) {
echo 'Party!';
}
echo Carbon::now()->subMinutes(2)->diffForHumans(); // '2 minutes ago'
Anda dapat mempelajari lebih lanjut di sini
Semoga ini bisa membantu dan jika Anda tahu cara lain untuk mendapatkan tanggal dan waktu, silakan edit jawabannya.
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 datetime saat ini (sekarang) dengan PHP, Anda dapat menggunakan date
kelas dengan versi PHP apa pun, atau lebih baik datetime
kelas dengan PHP> = 5.2.
Berbagai ekspresi format tanggal tersedia di sini.
Ungkapan ini akan kembali SEKARANG dalam format Y-m-d H:i:s
.
<?php
echo date('Y-m-d H:i:s');
?>
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
// 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(format, timestamp)
The date
kembali fungsi string diformat sesuai dengan format string yang diberikan menggunakan cap integer diberikan atau waktu saat ini jika tidak ada cap yang diberikan. Dengan kata lain, timestamp
adalah opsional dan standar ke nilai waktu ().
Dan parameternya adalah -
format - Diperlukan. Menentukan format cap waktu
timestamp - (Opsional) Menentukan timestamp. Default adalah tanggal dan waktu saat ini
Parameter format yang diperlukan dari date()
fungsi menentukan cara memformat date (or time)
.
Berikut beberapa karakter yang umum digunakan untuk kencan:
Karakter lain, suka "/", ".", or "-"
juga dapat dimasukkan di antara karakter untuk menambahkan pemformatan tambahan.
Contoh di bawah 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");
?>
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
Anda dapat menggunakan kode ini:
<?php
$currentDateTime = date('Y-m-d H:i:s');
echo $currentDateTime;
?>
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
Sangat sederhana
date_default_timezone_set('Asia/Kolkata');
$date = date('m/d/Y H:i:s', time());
// 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));
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.
Berikut adalah beberapa karakter yang biasanya digunakan untuk kali:
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:
.
in date("Y/m/d") . ;
?
$date = date('m/d/Y h:i:s a', time());