- 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/
我找到了很好的函数 =GOOGLEFINANCE("AAPL";"price";TODAY(); today()-60) 可以给出指定日期范围内的股票价格 - 它工作正常。我试图用它来获取 EPS 或
基于云计算的大规模即时云渲染技术,让每个人都拥有了“数字生命”。 2023的开年爆款,非《流浪地球2》莫属。 它展开了人类的新话题,关于平行空间,关于数字生命,关于人类文明
我试图过滤掉比今天更大的日期。我查找了语法,但日期部分不起作用;我仍然在结果中得到日期 > 今天。 有人可以帮我解决这个问题吗?!谢谢!这是查询: =iferror(sort(if(isblank(S
这就是我现在所拥有的: set_time_limit(120); $now = (new \DateTime)->format('Y-m-d H:i:s'); $nowYmd = (new \Date
这个问题在这里已经有了答案: 关闭 12 年前。 Possible Duplicate: Select * from table where date = today 你好,我正在尝试做一个 mys
我使用 CouchDB 作为事件日志,我想在它之上构建简单的 UI,以便我可以更轻松地查询事件。 我可以使用原始 HTTP 调用并手动构建 View ,也可以使用 CouchApp 框架。 问题是这些
我似乎无法在“小部件模拟器”中运行“今日”小部件(或与此相关的任何扩展名)。模拟器启动,并说“无法打开小部件”以及 Failed to find Widget /Users/SomeUser/Libr
我正在使用来自此来源的日期选择器 http://jqueryui.com/datepicker/#buttonbar ,我正在尝试让按钮栏上的“今天”按钮处于事件状态,请任何人帮助我。 $(".dat
我是Prometheus和警报方面的新手,我无法通过查看文档来完善答案。 我有一些数据即将进入Elasticsearch集群。每天,该过程都会在Elasticsearch上创建一个新索引,并将当天的数
我有一个应用程序和一个今天的扩展程序,它们使用安全组标识符共享Core Data持久性存储。 主应用程序更新Core Data存储,而扩展名仅从存储中读取。 我在应用程序和扩展程序中都使用了NSFet
我在项目中完成了Today扩展的一半。 我不必向公众发布半成品,但也希望保持相同的代码库,这样可以节省代码维护时间。 没有人知道没有内置“今日”扩展程序的发布应用程序的方法吗? 谢谢 最佳答案 在应用
我花了很长时间来了解段注册的内容目的是?我已经准备好知道这来自过去 (8086)只有 1 MByte 的物理内存。但是CPU有只有 16 位宽的地址寄存器。有了这 16 个地址位你只能寻址 64K 字
我有一个表格,其中包含成员(member)加入俱乐部时输入的日期。该列是沼泽标准,类型为 DATE。不需要时间。 基本上,我正在尝试找到一种 future 不可能的方式? 最佳答案 您可以使用触发器。
我需要获取早于或等于今天的日期。我正在使用 C# LINQ。 只是想知道以下是否是最有效的方法: pr.PgDate >= DateTime.Today 最佳答案 视情况而定,假设您使用的是将其直接转
$str = 'BEGIN This is a "quote" test. \'Single\' END'; echo $str . "\n"; echo mysql_real_escape_stri
在 HTML 5 中是否支持在 Silverlight 中真正容易做到的事情? 例如,将一个文件(由用户选择)转换为一个字节数组,该字节数组可以进行 base64 编码并传递给网络服务? 或者,创建/
使用 Oracle,如何在 11:59:59 选择当前日期(即 SYSDATE)? 考虑到午夜的定义might be a little ambiguous (星期四午夜是指跨越星期四和星期五还是跨越星
My Today 扩展需要有一个基于小部件显示内容的动态高度。我能够通过在最底部元素上添加约束来实现这一点:底部布局指南的顶部小于或等于最底部元素的底部,常量为 0,优先级为 999,乘数为 1。 这
我相信你们中的许多人已经查看了今天的 (2011-02-08) Google's doodle (link to article on CNN if doodle changes)。这太棒了,我试着弄
如下所示: ? 1
我是一名优秀的程序员,十分优秀!