以 PHP5 中的数组形式返回当前日历周的日期

2024-01-10

我如何组合一个 PHP5 函数来查找当前日历周并以数组形式返回一周中每一天的日期(从星期一开始)?例如,如果该函数今天运行(2010 年 2 月 25 日星期四),该函数将返回一个如下数组:

[0] => Mon Feb 22 2010<br />
[1] => Tue Feb 23 2010<br />
[2] => Wed Feb 24 2010<br />
[3] => Thu Feb 25 2010<br />
[4] => Fri Feb 26 2010<br />
[5] => Sat Feb 27 2010<br />
[6] => Sun Feb 28 2010<br />

日期在数组中存储的格式并不重要,因为我认为这很容易更改。另外,如果能够选择提供日期作为参数并获取该日期而不是当前日期的日历周,那就太好了。

Thanks!


我想一个解决方案是首先获取与上周一相对应的时间戳,使用strtotime http://php.net/strtotime :

$timestampFirstDay = strtotime('last monday');


但如果你今天尝试(周四),像这样:

$timestampFirstDay = strtotime('last thursday');
var_dump(date('Y-m-d', $timestampFirstDay));

你会得到 :

string '2010-02-18' (length=10)

即上周...对于 strtotime,"last" means “今天之前的那个”.

这意味着你必须测试今天是否“上周一”由返回strtotime加一星期——如果是的话,加一星期......

这是一个可能的(可能有更聪明的想法)解决方案 :

$timestampFirstDay = strtotime('last monday');
if (date('Y-m-d', $timestampFirstDay) == date('Y-m-d', time() - 7*24*3600)) {
    // we are that day... => add one week
    $timestampFirstDay += 7 * 24 * 3600;
}


现在我们有了时间戳“上周一”,我们可以写一个简单的for循环 7 次,每次增加 1 天,如下所示:

$currentDay = $timestampFirstDay;
for ($i = 0 ; $i < 7 ; $i++) {
    echo date('Y-m-d', $currentDay) . '<br />';
    $currentDay += 24 * 3600;
}

这会给我们这样的输出:

2010-02-22
2010-02-23
2010-02-24
2010-02-25
2010-02-26
2010-02-27
2010-02-28


现在,由您决定:

  • 修改一下for循环,将日期存储在数组中
  • 决定您要使用哪种格式date http://php.net/manual/en/function.date.php功能

玩得开心 ;-)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

以 PHP5 中的数组形式返回当前日历周的日期 的相关文章

  • 在服务器上找不到本地主机或 phpMyAdmin:如何修复?

    我按照安装说明进行操作PHP MySQL and PHPMyAdmin 但是当我尝试访问时http localhost phpmyadmin 我收到此错误 未找到 在此找不到请求的 URL phpmyadmin 服务器 然后我尝试访问loc
  • PHP MongoDb 驱动程序:如何设置执行代码的超时

    我有以下代码 它在 MongoDb 端执行一段代码 mongoCode new MongoCode Some JS code db gt execute mongoCode array socketTimeoutMS gt 1000000
  • Yii2 - 错误请求 (#400) |前端和后端cookie

    仅当我打开时才会出现此问题frontend and backend在相同的browser 设想 与后端交互 gt 切换选项卡 gt 与前端交互 gt 切换选项卡返回 gt 与后端交互 gt 错误请求 400 Cookie 后端 identi
  • AWS-PHP-SDK / SNS 直接寻址返回错误

    您好 我正在使用 Laravel 4 设置来利用 AWS SNS 向我的 iOS 设备发送推送消息 从 AWS 控制台向我的设备发布命令效果很好 然后我尝试从 PHP sns AWS get sns sns gt publish array
  • 如何使用 PHP 构建正确的 SOAP 请求

    我需要格式化 构建此 SOAP 服务 的请求 http api notificationmessaging com NMSOAP NotificationService wsdl http api notificationmessaging
  • 如何在 GitHub Action 中使用不同版本的 PHP 进行测试

    我有一些 PHP 代码 其中包含使用以下命令运行的测试PHPUnit并想对其进行测试GitHub Actions 我在他们的文档中找不到测试 PHP 包的方法 我想使用不同版本的 PHP 进行测试 但他们只有最新的版本7 3安装 您可以添加
  • 如何在 JavaScript 中创建服务器端进度指示器?

    我想在我的网站中创建一个部分 用户可以在其中进行一些简单的操作update纽扣 这些中的每一个update按钮将发送到服务器 并在幕后进行长时间的处理 当服务器处理数据时 我希望用户有某种进度指示器 例如进度条或文本百分比 我使用 jQue
  • 在哪里可以学习网络编程从入门到精通? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我尝试做教程 但它是无组织且无结构的 我在哪里可以学习 PHP 从初学者到大师 我正在寻找类似的网站w
  • 使用 PHP glob 列出 FTP 服务器上的文件不起作用

    我使用此代码来访问目录 location files pictures glob location png 我想使用 FTP 访问远程路径 location opendir ftp user password host name files
  • 如何将表中不存在但原始SQL中存在的实体字段设置为别名?

    假设我们有一个这样的查询 SELECT CUSTOM EXPRESSION as virtualfield FROM users 用户的实体本身具有 虚拟字段 但映射注释没有 因为表没有该字段 假设它作为原始 SQL 执行 我们如何使用上面
  • 在 foreach 中使用 QueryPath 的多个查找

    我正在使用 QueryPath 和 PHP 这发现 eventdate 没问题 但不会为 dtstart 返回任何内容 qp htmlqp url foreach qp gt find table schedule gt find tr a
  • PHP 编码风格回归;在开关/外壳中

    我们正在尝试为我们的团队实施新的编码风格指南 当未找到 break 时 php codeniffer 会在 switch case 语句上打印警告 如下所示 switch foo case 1 return 1 case 2 return
  • 如何使用更新资源控制器 laravel 4?

    我有带有索引 编辑 更新方法的客户控制器 Route resource customer CustomerController 控制器方法更新 public function update id echo id 我的 HTML 表单
  • CodeIgniter:My_Lang 中的 get_instance

    我发现这个有用的国际化代码 http pastebin com SyKmPYTX http pastebin com SyKmPYTX 一切正常 除了我无法在此类中使用 CI 函数 我想从 DB 设置 languages 和 special
  • PHP 中的 -> 和 :: 有什么区别?

    这个东西困扰我好久了 一直找不到 在 php 中使用 和 gt 之间的类有什么区别 让我举个例子 想象一个名为 MyClass 的类 该类中有一个函数 myFunction 使用有什么区别 MyClass myclass new MyCla
  • 雄辩的第一个 where 子句

    我想知道 Laravel 如何实现雄辩的语法 以便可以静态调用第一个 where 子句User where User where id 23 gt where email email gt first 他们有吗public static f
  • 使用会话 php 创建 cookie?

    我使用会话来登录我网站中的用户 问题是 我想让用户remember密码 因此关闭 打开浏览器后他们不需要再次登录 我需要使用 cookie 和 session 来实现它吗 my code user POST user pass POST p
  • PayPal 网关已拒绝请求。安全标头无效(#10002:安全错误 Magento

    在 magento 中增加 PayPal 预付款 我已填写 magento admin 中的所有凭据 但是当我进入前端并单击 pay pal 按钮时 它给出了 PayPal 网关已拒绝请求 安全标头无效 10002 安全错误 我用谷歌搜索了
  • PHP更改小数点分隔符

    在某些情况下 PHP 会在操作后更改小数点分隔符 下面是一个示例 为什么小数点分隔符变成 这是一个多语言网站 在西班牙语版本中 区域设置设置为西班牙语 es ES 小数点分隔符为 这就是为什么正在改变 解决方案是强制 LC NUMERIC
  • 使用 MongoDB 和 Nodejs 插入和查询日期

    我需要一些帮助在 mongodb 和 nodejs 中按日期查找记录 我将日期添加到抓取脚本中的 json 对象 如下所示 jsonObj last updated new Date 该对象被插入到 mongodb 中 我可以看到如下 la

随机推荐

  • ASP.Net 用户忘记密码问题的答案

    对于同时忘记密码和密码重置问题答案的用户 如何重置密码 我正在使用 ASP Net 会员资格 假设您的会员资格提供商 AspNetSqlMembershipProvider 位于网页配置 has requiresQuestionAndAns
  • 类型“Observable”上不存在属性“interval”

    我的 Angular2 组件类的构造函数中有以下代码 Observable from 1 2 3 interval 2000 subscribe e gt console log e 我导入了以下内容 import Observable f
  • 打印按行排序的 zip 中文件的注释,Python

    就是这样 我必须编写一个程序 该程序首先读取 zip 中的文件 在该文件中它将找到接下来要读取的 txt 文件的名称 依此类推 直到到达一个没有该名称的文件 接下来是一个 所以它只打印内容 我做到了并且工作得很好 但是 在它读取所有文件之后
  • 单机上的 MPI 并行程序执行

    我想在带有核心 i7 cpu 的单台电脑上运行并行代码我可以编译我的代码 但运行它时遇到问题 我使用 mpicxx 编译代码 当我通过 mpirun np 8 a out 运行它时 只有一个进程 我的操作系统是linux ubuntu 11
  • Spark 流异常:java.util.NoSuchElementException:None.get

    我在写信SparkStreaming通过将数据转换为数据帧来将数据传输到 HDFS Code object KafkaSparkHdfs val sparkConf new SparkConf setMaster local setAppN
  • 在 OS X 10.10 下,在 PyCharm 中使用 VirtualBox 设置 Vagrant 时出错

    当设置远程解释器并选择 Vagrant 时 我在 PyCharm 中收到以下错误 Can t Get Vagrant Settings 0 31mThe provider virtualbox that was requested to b
  • 如何更改chartjs中图例的颜色并能够添加一个图例?

    我想更改图例的颜色 因为我想要不同的颜色代表不同的情况 但现在图例仅使用我在条形图上设置的第一种颜色 我还想问一下 是否可以多设置一个图例 比如粉色代表A情况 蓝色代表B情况 Here is the link 代码在这里 https jsf
  • 如何从表中获取最后一个插入ID

    我想获取表中最后插入的 ID 的值 我怎样才能做到这一点 那么我使用的解决方案是 select id from NEW TABLE insert into val1 val2 values lorem ipsum 这会从数据库中插入的最后一
  • php 中的 exec 导致“脚本标头过早结束:php-cgi.exe”错误

    我编写了一个 php 脚本 它使用 exec 调用外部命令 该命令将空间数据库查询结果编译到形状文件中 在具有大量记录 例如 15 000 条 的表中 执行此命令可能需要长达 7 分钟的时间 该脚本在不需要太长时间 可能 脚本标题过早结束意
  • PySide QWebView 和下载不支持的内容

    下面是使用 PySide 演示 Web 应用程序等的最小浏览器的代码 它通常按照我想要的方式运行 尽管我似乎不太清楚如何成功下载不支持的内容 在 Finished 方法中 self reply readAll 返回一个空的 QByteArr
  • 使用 Selenium 和 jUnit 的第一步 - 有什么好的教程吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何将过滤器关键字上的字符串传递给 Django 对象模型?

    如何在视图的关键字对象过滤器上传递变量 I have my object MyModel objects filter my keyword my filter values 我想从来自字符串的变量中获取 my keyword 如下所示 m
  • 在不同平台上使用 sqlite 和文件锁定是否存在已知问题?

    我使用 sqlite 来创建专有文件的索引 并且将使用多个线程 使用不同的 sqlite 句柄 访问数据库以进行读取和写入 我知道 sqlite 锁定文件是为了为读取器 写入器提供并发性 并且依赖于操作系统文件 api 进行锁定 这在 Wi
  • TS2307:在 TypeScript 上导入 Angular2 时找不到模块“angular2/core”

    大家好 我有一点 Angular 1 的背景 我正在学习 Angular 2 对于从 Angular 1 开始 唯一的依赖是添加角度源angular js or angular min js 当通过 script 标签尝试使用 Angula
  • 什么是概念?

    我听说过所有关于 C 0x 不再有概念的新消息 在 上 但我不知道它们是什么 有人可以向我解释一下吗 概念是一种通用编程功能 允许编写模板代码的人指定类型参数需要满足的要求 例如 某些集合类型需要集合的类型参数来定义 这有点过于简单化 但我
  • 原则 2 选择计数 groupBy

    我正在尝试检索许多具有唯一 uid 的行 qb gt select COUNT as cnt gt from type c gt groupBy c organization c process role c domain c year g
  • 错误:找不到 ActivitySplashBinding

    我正在尝试检查用户是否登录 如果是 则显示特定视图组 否则显示不同的视图组 为了检查用户是否登录 我从共享首选项中获取用户 登录时用户保存在共享首选项中 让我展示我的代码 启动视图模型 public class SplashViewMode
  • 将自定义道具传递给react-router v4中的路由器组件

    我正在使用 React Router 创建一个多页面应用程序 我的主要组成部分是
  • 使用 Swift 向下循环移动 SKSpriteNode

    使用 Swift 和 SpriteKit 我想以螺旋模式移动 SKSpritenode 但没有找到合适的资源来帮助我开始 更准确地说 我想以向下循环的方式移动精灵节点 我检查了一系列 SKActions 但由于它们不是并行执行的 因此与 m
  • 以 PHP5 中的数组形式返回当前日历周的日期

    我如何组合一个 PHP5 函数来查找当前日历周并以数组形式返回一周中每一天的日期 从星期一开始 例如 如果该函数今天运行 2010 年 2 月 25 日星期四 该函数将返回一个如下数组 0 gt Mon Feb 22 2010 br 1 g