- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我将如何在 php 中获取今天午夜的时间戳。假设现在是星期一下午 5 点,我想要星期一(今天)午夜(上午 12 点)的时间戳。
谢谢
最佳答案
$timestamp = strtotime('today midnight');
或通过日期时间:
$date = new DateTime('today midnight');
// or: $date = date_create('today midnight');
$timestamp = $date->getTimestamp();
然后也许是不可变的:
$midnight = new DateTimeImmutable('today midnight');
// or: $midnight = date_create_immutable('today midnight');
$timestampOfMidnight = $midnight->getTimestamp();
midnight
”或“today
”返回相同。UTC today
”,永远拥有它。midnightZ
”midnight
自 PHP 5.1.2(2006 年 1 月)起, today
自 PHP 4.3.1(2003 年 2 月)起更多例子:
鉴于时间UTC 2020-01-01 00:00:00:
UTC time is ............: [red ] 1577836800
调用 strtotime($)
时,结果为:
today midnight .........: [pink ] 1577833200
midnight ...............: [pink ] 1577833200
today ..................: [pink ] 1577833200
tomorrow ...............: [green ] 1577919600
UTC today ..............: [red ] 1577836800
today Z ................: [red ] 1577836800
Asia/Shanghai today ....: [lime ] 1577808000
Asia/Shanghai ..........: [blue ] 1577811600
HKST today .............: [copper] 1577804400
PHP 文档:
在 Relative Formats 页面上,查看基于日的表示法表。这些格式适用于 strtotime()
、 DateTime
和 date_create()
。
您可能想看看 PHP 提供的更多功能:https://php.net/datetime - PHP 中与日期时间相关的函数和对象的入口页面,以及指向其他与日期时间相关的扩展的链接。
注意:虽然“midnight
”在技术上在两天之间,但这里是“today
”(一天的开始)和 PHP 的 strtotime
。
讨论:
到目前为止,答案 strtotime("today midnight")
或 strtotime("midnight today")
是 PHP 的一个完整且听起来不错的答案,它可能看起来有点冗长,因为 strtotime("midnight")
和 strtotime("today")
返回相同的结果。
但即使是更冗长也不总是能立即回答这个问题,如果它是关于一天开始的午夜或一天结束的午夜,即使在今天也被给出为语境。阅读“今天午夜”时,我们可能会想到一天的开始,但这是一个假设,并不精确,也许不可能。 Wikipedia:
Though there is no global unanimity on the issue, most often midnight is considered the start of a new day and is associated with the hour 00:00.
与这个编程问题比较:
(它将在两个 UNIX 时间戳之间,因此您将获取两个时间戳并描述两者的含义,这不会回答问题,因为它要求一个时间戳)。
由于这种不匹配以及 UNIX 时间引用日期/时间的方式,这不容易完全解决。
让我们用众所周知的数字 24 小时时钟来表示小时和分钟并表示午夜(更精确吗?):
$midnight = strtotime("today 00:00");
或结束一天:
$midnight = strtotime("today 24:00");
(注意:显示为第二天的开始)
或者12小时制,也可以用来给出今天午夜的UNIX时间戳:
$midnight = strtotime("12:00 a.m.");
(注意:strtotime()
不支持 “午夜 12 点” 表示法)
转换时间(如 Midnight)在时钟上映射可能会导致混淆,使用类似于“midnight
”的 12 小时制时钟甚至会变得更加明显midday(在 PHP 中不能作为相对日期/时间格式,但“noon
”)在技术上介于 again 之间(现在在中午的两个完整日期之间,或在第一个日期之间和后半天)。
这样一来,代码在 24 小时内可能不会被很好地接受,或者只是写出“today midnight
”。
您的里程可能会有所不同。
这有点与时钟时间一致。来自 Wikipedia Midnight :
"Midnight is the transition time from one day to the next – the moment when the date changes, on the local official clock time for any particular jurisdiction. By clock time, midnight is the opposite of noon, differing from it by 12 hours. [bold by me]"
"It is not always clear what times "12:00 a.m." and "12:00 p.m." denote. From the Latin words meridies (midday), ante (before) and post (after), the term ante meridiem (a.m.) means before midday and post meridiem (p.m.) means after midday. Since "noon" (midday, meridies (m.)) is neither before nor after itself, the terms a.m. and p.m. do not apply. Although "12 m." was suggested as a way to indicate noon, this is seldom done and also does not resolve the question of how to indicate midnight."
关于php - 在午夜获取今天的时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13129817/
我在 JavaScript 文件中运行 PHP,例如...... var = '';). 我需要使用 JavaScript 来扫描字符串中的 PHP 定界符(打开和关闭 PHP 的 )。 我已经知道使
我希望能够做这样的事情: php --determine-oldest-supported-php-version test.php 并得到这个输出: 7.2 也就是说,php 二进制检查 test.
我正在开发一个目前不使用任何框架的大型 php 站点。我的大问题是,随着时间的推移慢慢尝试将框架融入应用程序是否可取,例如在创建的新部件和更新的旧部件中? 比如所有的页面都是直接通过url服务的,有几
下面是我的源代码,我想在同一页面顶部的另一个 php 脚本中使用位于底部 php 脚本的变量 $r1。我需要一个简单的解决方案来解决这个问题。我想在代码中存在的更新查询中使用该变量。 $name)
我正在制作一个网站,根据不同的情况进行大量 PHP 重定向。就像这样...... header("Location: somesite.com/redirectedpage.php"); 为了安全起见
我有一个旧网站,我的 php 标签从 因为短标签已经显示出安全问题,并且在未来的版本中将不被支持。 关于php - 如何避免在 php 文件中写入
我有一个用 PHP 编写的配置文件,如下所示, 所以我想用PHP开发一个接口(interface),它可以编辑文件值,如$WEBPATH , $ACCOUNTPATH和 const值(value)观
我试图制作一个登录页面来学习基本的PHP,首先我希望我的独立PHP文件存储HTML文件的输入(带有表单),但是当我按下按钮时(触发POST到PHP脚本) )我一直收到令人不愉快的错误。 我已经搜索了S
我正在寻找一种让 PHP 以一种形式打印任意数组的方法,我可以将该数组作为赋值包含在我的(测试)代码中。 print_r 产生例如: Array ( [0] => qsr-part:1285 [1]
这个问题已经有答案了: 已关闭11 年前。 Possible Duplicate: What is the max key size for an array in PHP? 正如标题所说,我想知道
我正在寻找一种让 PHP 以一种形式打印任意数组的方法,我可以将该数组作为赋值包含在我的(测试)代码中。 print_r 产生例如: Array ( [0] => qsr-part:1285 [1]
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 9 年前。 Improve this ques
我在 MySQL 数据库中有一个表,其中存储餐厅在每个工作日和时段提供的菜单。 表结构如下: i_type i_name i_cost i_day i_start i_
我有两页。 test1.php 和 test2.php。 我想做的就是在 test1.php 上点击提交,并将 test2.php 显示在 div 中。这实际上工作正常,但我需要向 test2.php
我得到了这个代码。我想通过textarea更新mysql。我在textarea中回显我的MySQL,但我不知道如何更新它,我应该把所有东西都放进去吗,因为_GET模式没有给我任何东西,我也尝试_GET
首先,我是 php 的新手,所以我仍在努力学习。我在 Wordpress 上创建了一个表单,我想将值插入一个表(data_test 表,我已经管理了),然后从 data_test 表中获取所有列(id
我有以下函数可以清理用户或网址的输入: function SanitizeString($var) { $var=stripslashes($var); $va
我有一个 html 页面,它使用 php 文件查询数据库,然后让用户登录,否则拒绝访问。我遇到的问题是它只是重定向到 php 文件的 url,并且从不对发生的事情提供反馈。这是我第一次使用 html、
我有一个页面充满了指向 pdf 的链接,我想跟踪哪些链接被单击。我以为我可以做如下的事情,但遇到了问题: query($sql); if($result){
我正在使用 从外部文本文件加载 HTML/PHP 代码 $f = fopen($filename, "r"); while ($line = fgets($f, 4096)) { print $l
我是一名优秀的程序员,十分优秀!