哪个PHP函数可以返回当前日期/时间?
当前回答
获取当前时间和日期的最佳方法是使用PHP中的date函数:
$date = date('FORMAT'); // FORMAT E.g.: Y-m-d H:i:s
$current_date = date('Y-m-d H:i:s');
使用Unix时间戳:
$now_date = date('FORMAT', time()); // FORMAT Eg : Y-m-d H:i:s
设置服务器时区。
date_default_timezone_set('Asia/Calcutta');
这里有一个不同的时区列表。
其他回答
PHP的date函数可以完成这项工作。
日期()
描述:
string date(string $format [, int $timestamp = time()])
返回根据给定格式字符串使用给定整数时间戳格式化的字符串,如果没有给出时间戳则返回当前时间。
例子:
$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函数设置默认时区:
<?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");
?>
你可以使用$_SERVER['REQUEST_TIME']变量或time()函数。这两个函数都返回Unix时间戳。
大多数情况下,这两个解决方案将产生完全相同的Unix时间戳。它们之间的区别是$_SERVER['REQUEST_TIME']返回最近服务器请求的时间戳,而time()返回当前时间。根据应用程序的不同,这可能会在准确性上产生微小的差异,但在大多数情况下,这两种解决方案都足够了。
根据上面的示例代码,一旦获得Unix时间戳,您将希望格式化此信息。未格式化的Unix时间看起来像:1232659628
因此,为了得到一些可以工作的东西,您可以使用date()函数来格式化它。
关于date()函数的使用方法,PHP手册中有很好的参考资料。
例如,下面的代码返回一个日期:01/22/2009 04:35:00 pm:
echo date("m/d/Y h:i:s a", time());
你可以使用下面的代码:
<?php
$currentDateTime = date('Y-m-d H:i:s');
echo $currentDateTime;
?>
使用date()和DateTimeInterface::format格式化日期,即date('Y-m-d H:i:s');,你有这些可选格式:
来源:DateTimeInterface:::格式页面。
format character | Description | Example returned values |
---|---|---|
Day | --- | --- |
d | Day of the month, 2 digits with leading zeros | 01 to 31 |
D | A textual representation of a day, three letters | Mon through Sun |
j | Day of the month without leading zeros | 1 to 31 |
l (lowercase 'L') | A full textual representation of the day of the week | Sunday through Saturday |
N | ISO 8601 numeric representation of the day of the week | 1 (for Monday) through 7 (for Sunday) |
S | English ordinal suffix for the day of the month, 2 characters | st, nd, rd or th. Works well with j |
w | Numeric representation of the day of the week | 0 (for Sunday) through 6 (for Saturday) |
z | The day of the year (starting from 0) | 0 through 365 |
Week | --- | --- |
W | ISO 8601 week number of year, weeks starting on Monday | Example: 42 (the 42nd week in the year) |
Month | --- | --- |
F | A full textual representation of a month, such as January or March | January through December |
m | Numeric representation of a month, with leading zeros | 01 through 12 |
M | A short textual representation of a month, three letters | Jan through Dec |
n | Numeric representation of a month, without leading zeros | 1 through 12 |
t | Number of days in the given month | 28 through 31 |
Year | --- | --- |
L | Whether it's a leap year | 1 if it is a leap year, 0 otherwise. |
o | ISO 8601 week-numbering year. This has the same value as Y, except that if the ISO week number (W) belongs to the previous or next year, that year is used instead. | Examples: 1999 or 2003 |
X | An expanded full numeric representation of a year, at least 4 digits, with - for years BCE, and + for years CE. | Examples: -0055, +0787, +1999, +10191 |
x | An expanded full numeric representation if requried, or a standard full numeral representation if possible (like Y). At least four digits. Years BCE are prefixed with a -. Years beyond (and including) 10000 are prefixed by a +. | Examples: -0055, 0787, 1999, +10191 |
Y | A full numeric representation of a year, at least 4 digits, with - for years BCE. | Examples: -0055, 0787, 1999, 2003, 10191 |
y | A two digit representation of a year | Examples: 99 or 03 |
Time | --- | --- |
a | Lowercase Ante meridiem and Post meridiem | am or pm |
A | Uppercase Ante meridiem and Post meridiem | AM or PM |
B | Swatch Internet time | 000 through 999 |
g | 12-hour format of an hour without leading zeros | 1 through 12 |
G | 24-hour format of an hour without leading zeros | 0 through 23 |
h | 12-hour format of an hour with leading zeros | 01 through 12 |
H | 24-hour format of an hour with leading zeros | 00 through 23 |
i | Minutes with leading zeros | 00 to 59 |
s | Seconds with leading zeros | 00 through 59 |
u | Microseconds. Note that date() will always generate 000000 since it takes an int parameter, whereas DateTime::format() does support microseconds if DateTime was created with microseconds. | Example: 654321 |
v | Milliseconds. Same note applies as for u. | Example: 654 |
Timezone | --- | --- |
e | Timezone identifier | Examples: UTC, GMT, Atlantic/Azores |
I (capital i) | Whether or not the date is in daylight saving time | 1 if Daylight Saving Time, 0 otherwise. |
O | Difference to Greenwich time (GMT) without colon between hours and minutes | Example: +0200 |
P | Difference to Greenwich time (GMT) with colon between hours and minutes | Example: +02:00 |
p | The same as P, but returns Z instead of +00:00 (available as of PHP 8.0.0) | Examples: Z or +02:00 |
T | Timezone abbreviation, if known; otherwise the GMT offset. | Examples: EST, MDT, +05 |
Z | Timezone offset in seconds. The offset for timezones west of UTC is always negative, and for those east of UTC is always positive. | -43200 through 50400 |
Full Date/Time | --- | --- |
c | ISO 8601 date | 2004-02-12T15:19:21+00:00 |
r | » RFC 2822/» RFC 5322 formatted date | Example: Thu, 21 Dec 2000 16:01:07 +0200 |
U | Seconds since the Unix Epoch (January 1 1970 00:00:00 GMT) | See also time() |
推荐文章
- 如何从一个查询插入多行使用雄辩/流利
- SQL Developer只返回日期,而不是时间。我怎么解决这个问题?
- 在mongodb中存储日期/时间的最佳方法
- 在PHP单元测试执行期间,如何在CLI中输出?
- 在PHP中使用heredoc的优势是什么?
- 在Android应用程序中显示当前时间和日期
- 字符串不能识别为有效的日期时间“格式dd/MM/yyyy”
- PHP中的echo, print和print_r有什么区别?
- 如何转换日期时间?将日期时间
- 如何将XML转换成PHP数组?
- 如何将对象转换为数组?
- 如何将python datetime转换为字符串,具有可读格式的日期?
- 从IP地址获取位置
- 在c#中创建一个特定时区的DateTime
- 获取数组值的键名