每个月的第一天

2024-04-27

如果我从当前日期开始,如何获得每个月的第一个星期五?

我正在考虑使用 $date->get(Zend::WEEKDAY) 并将其与星期五进行比较,然后与 DAY 进行比较,并检查它是否小于或等于 7。然后添加 1 个月。

一定有更简单的东西吗?


怎么样

$firstFridayOfOcober = strtotime('first friday of october');

或者将其变成一个方便的功能:-

 /**
 * Returns a timestamp for the first friday of the given month
 * @param string $month
 * @return type int
 */
function firstFriday($month)
{
    return strtotime("first friday of $month");
}

您可以将其与 Zend_Date 一起使用,如下所示:-

$zDate = new Zend_Date();
$zDate->setTimestamp(firstFriday('october'));

Then Zend_Debug::dump($zDate->toString());将产生:-

string '7 Oct 2011 00:00:00' (length=19)

我想说这要简单得多:)

经过更多思考后编辑:

更通用的函数可能对您更有用,所以我建议使用这个:-

/**
 * Returns a Zend_Date object set to the first occurence
 * of $day in the given $month.
 * @param string $day
 * @param string $month
 * @param optional mixed $year can be int or string
 * @return type Zend_Date
 */
function firstDay($day, $month, $year = null)
{
    $zDate = new Zend_Date();
    $zDate->setTimestamp(strtotime("first $day of $month $year"));
    return $zDate;
}

这些天我首选的方法是扩展 PHP日期时间对象 http://www.php.net/datetime:-

class MyDateTime extends DateTime
{
    /**
    * Returns a MyDateTime object set to 00:00 hours on the first day of the month
    * 
    * @param string $day Name of day
    * @param mixed $month Month number or name optional defaults to current month
    * @param mixed $year optional defaults to current year
    * 
    * @return MyDateTime set to last day of month
    */
    public function firstDayOfMonth($day, $month = null, $year = null)
    {
        $timestr = "first $day";
        if(!$month) $month = $this->format('M');
        $timestr .= " of $month $year";
        $this->setTimestamp(strtotime($timestr));
        $this->setTime(0, 0, 0);
        var_dump($this);
    }
}
$dateTime = new MyDateTime();
$dateTime->firstDayOfMonth('Sun', 'Jul', 2011);

Gives:-

object(MyDateTime)[36]
  public 'date' => string '2011-07-03 00:00:00' (length=19)
  public 'timezone_type' => int 3
  public 'timezone' => string 'UTC' (length=3)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

每个月的第一天 的相关文章

  • 如何在 PHP 中下载现有文件

    我的服务器上有一个 pdf 文件 我想创建这样的链接 用户可以单击它并下载该 pdf 文件 我正在使用 Zend 框架与 Php 一起工作 将此代码放入 php 文件中并将其命名为 f e 下载 php
  • Zend Framework 中的 html_entity_decode 等效项

    我可以看到 HTML 转义字符串打印 但如何将其解码为纯文本呢 已经找这个好几个小时了 Zend Framework 是否有相反的东西 this gt escape 可以在视图文件中使用吗 Zend Framework 中的 unescap
  • 如何验证 ZF2 中的复选框

    我已经阅读了许多针对 Zend Framework 缺乏默认复选框验证的解决方法 我最近开始使用 ZF2 但文档有点缺乏 有人可以演示如何使用 Zend 表单和验证机制验证复选框以确保其被选中吗 我正在为我的表单使用数组配置 使用 ZF 网
  • Zend_Validate_Between 奇怪的错误消息

    我正在尝试Zend Validate Between class 我是这样设置的 scoreBetweenValidator new Zend Validate Between 3 3 true 因此验证器应该只接受 3 到 3 之间的值
  • 使用 ZF 使 Zend_Rest_Server 返回 JSON 而不是 XML

    Zend Rest Server 可以返回 Json 吗 如果没有 有什么替代方案 其他库建议也可以 Zend Rest Server 输出 XML 尽管文档中没有明确指定 有一些替代方案 您可以利用 Zend Framework 提供的整
  • Zend_Validate_Float 语言环境不适用于 hi_IN 语言环境

    在使用 hi IN 进行数字验证时 我面临以下问题 其中 Zend Locale Format isFloat 对于非单个数字和任何语言环境都可以正常工作 但不适用于单位数字和区域设置 hi IN 源代码 测试用例 foreach arra
  • 原则 2 关联映射的分页

    我想知道如何对从原则 2 中的实体关联映射获得的结果进行分页 例如 class Customer OneToMany targetEntity Order private orders 可以这样使用 customer gt getOrder
  • Magento - 如何查询管理员的角色名称?

    我正在尝试获取当前登录管理员的角色名称 我可以获得管理员用户 但我不知道如何查询他们的角色名称 Magento 文档很弱 usr Mage getSingleton admin session gt getUser 有人有想法吗 说得太早了
  • 提交时使用 ajax 将子表单添加到表单

    我读了这篇文章 http www jeremykendall net 2009 01 19 dynamically adding elements to zend form http www jeremykendall net 2009 0
  • Zend_Forms、控制器放在哪里?模型?别的地方?

    构建 Zend Forms 的代码最好放在哪里 我曾经把这个逻辑放在我的控制器中 但在我需要在不同的地方使用相同的表单后 我就放弃了这个逻辑 这意味着我必须在不同的控制器中重复创建表单 因此 我将表单创建代码移至我的模型中 这看起来正确吗
  • Node.js 中的作业队列

    我正在node js 中寻找一个可以由php 调用的作业队列管理器 这是一个需要发送电子邮件 创建 pdf 文件等的 Web 应用程序 我想对这些应用程序执行异步 php 进程 流程示例 用户请求 php 页面 Php调用作业队列管理器并添
  • 页面加载 - 页面之间出现白色“闪烁”

    有两个网站 一个正在运行 一个正在开发中 我正在将一个站点移植到 Zend Framework 出于可维护性 集成目的 原始 实时 站点具有无缝页面加载 它将加载 然后更新屏幕上的内容 同时保留页面上的背景图像 导航等 移植的网站 开发 会
  • 虚拟主机无法在 zend 框架中工作

    以下是我在 etc apache2 sites available 中的虚拟主机
  • Zend 框架 website.com/username

    我正在使用 Zend Framework 开发的应用程序之一要求通过 website com username 访问用户的个人资料页面 而其他页面应通过 website com controller name action name 访问
  • 如何使用 Memchached 后端和 Zend Framework 有选择地清除缓存(使用标签或其他选项)

    我们在 Web 项目中使用 Memcached 和 Zend Framework 现在 我们需要使用指定的标签有选择地清理缓存Zend Cache API http framework zend com manual 1 10 en zen
  • 从 Zend Framework 2 中的路由获取 $_GET 参数

    Zend Framework 1 有一种非常简单的方法来解析 URL 路由并在 GET 超全局中设置找到的参数以便于访问 当然 您可以在控制器内使用 gt getParam something 但如果在 URL 中找到参数 则它是also可
  • 正确使用 zend 框架中的语言

    我有一个带有两个模块 管理和公共 的 Zend 应用程序 对于公共 我有以下插件来解析我的友好 URL class Custom Controller Plugin Initializer extends Zend Controller P
  • Zend 覆盖默认视图对象

    如何覆盖 zend 框架中的默认视图对象 以便我可以拥有自定义视图对象 class Bootstrap extends Zend Application Bootstrap Bootstrap function initViewHelper
  • 如何在 Zend Framework 中制作电子邮件模板?

    我想在 Zend Framework 中制作电子邮件模板 例如 Dear username br This is a invitation email sent by your friend br Regards br Admin 我想制作
  • 如何自定义 Zend_Form 正则表达式错误消息?

    我有以下代码 postcode form gt createElement text postcode postcode gt setLabel Post code postcode gt addValidator regex false

随机推荐