如何在PHP中找到最近的星期几?
如果最初我有一个像这样的日期字符串:07.05.2010
,如何在 PHP 中找到一周中最近的特定日期?例如,我想找到最近的星期日(或一周中的任何一天)。我怎样才能实现这个?谢谢
How to find a speciefic nearest day of the week in PHP if initially I have a date string like: 07.05.2010
? For example, I want to find the nearest Sunday (or any day of the week). How can I implement this? Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
以防万一您想要最近一天而不是下一天,这里有一种方法可以做到这一点。
从 PHP 5.3 开始,中间部分可以简单地表示为
Just in case you wanted the nearest day rather than the next one, here is a way to do that.
And as of PHP 5.3, that middle portion can be simply
这应该做:
This should do:
或者,您可以创建一个地图,显示一周中哪几天更接近,例如,如果您在最接近的星期一到星期三之后,那么找到上一个星期一会更快,因为它比下星期一更接近。
Alternatively you could create a map of what days of weeks are closer, e.g if you're after closest Monday to Wednesday, it would be faster to just find the previous Monday given that it's closer than the next Monday.
发布了几个答案,我不断看到解决方案可以为我提供一周中某一天的下一个实例或上一个实例但不是最接近的< /强>。为了解决这个问题,我想出了这个函数:
输入:一周中的一天(“星期日”、“星期一”等)
输出:如果我询问最近的“星期日”,而今天是:
希望这有帮助:)
There are several answers posted and I keep seeing solutions that could give me either the next instance of a day of the week or the previous instance but not the closest. To address this, I came up with this function:
Input: a day of the week ("sunday", "Monday", etc.)
Output: If I asked for the nearest "sunday" and today is:
Hope this helps :)
strtotime 很神奇
strtotime is magical
只需使用
strtotime()
和一些小技巧即可完成此操作。This can be done using only
strtotime()
and a little trickery.您也可以使用 Carbon 库
You can use Carbon library as well