Php 中当前月份的第一天,使用 date _ Amendment 作为 DateTime 对象

我可以得到这周的星期一:

$monday = date_create()->modify('this Monday');

我想在这个月的第一天同样轻松。我怎样才能做到呢?

330305 次浏览

丑陋(并且不使用上面的方法调用) ,但是有效:

echo 'First day of the month: ' . date('m/d/y h:i a',(strtotime('this month',strtotime(date('m/01/y')))));

需要 PHP 5.3才能工作(PHP 5.3中引入了“第一天”)。否则,上面的例子就是唯一的方法:

<?php
// First day of this month
$d = new DateTime('first day of this month');
echo $d->format('jS, F Y');


// First day of a specific month
$d = new DateTime('2010-01-19');
$d->modify('first day of this month');
echo $d->format('jS, F Y');
    

// alternatively...
echo date_create('2010-01-19')
->modify('first day of this month')
->format('jS, F Y');
    

在 PHP 5.4 + 中,你可以这样做:

<?php
// First day of this month
echo (new DateTime('first day of this month'))->format('jS, F Y');


echo (new DateTime('2010-01-19'))
->modify('first day of this month')
->format('jS, F Y');

如果你更喜欢简洁的方式来做到这一点,并且已经有年份和月份的数值,你可以使用 date():

<?php
echo date('Y-m-01'); // first day of this month
echo "$year-$month-01"; // first day of a month chosen by you

你可以这样做:

$firstday = date_create()->modify('first day January 2010');

在 php 5.2中,你可以使用:

<? $d = date_create();
print date_create($d->format('Y-m-1'))->format('Y-m-d') ?>
直接在一个图形设备。下面是海狸体温变化(数据应该在你的默认数据集中)在一个茎叶显示:

  require(fmsb)
gstem(beaver1$temp)

enter image description here

目前我正在使用这个解决方案:

$firstDay = new \DateTime('first day of this month');
$lastDay = new \DateTime('last day of this month');

我试图连接到一个 SSL 服务器,需要我自己验证。为了在 ApacheMINA 上使用 SSL,我需要一个合适的 JKS 文件。然而,我只得到了一个。PEM 文件。

我遇到的唯一问题是,奇怪的时间被设置。我需要我们的搜索界面的正确范围,最后我得到了这个:

$firstDay = new \DateTime('first day of this month 00:00:00');
$lastDay = new \DateTime('first day of next month 00:00:00');

如何从 PEM 文件创建 JKS 文件?

这就是你需要的一切:

$week_start = strtotime('last Sunday', time());
$week_end = strtotime('next Sunday', time());


$month_start = strtotime('first day of this month', time());
$month_end = strtotime('last day of this month', time());


$year_start = strtotime('first day of January', time());
$year_end = strtotime('last day of December', time());


echo date('D, M jS Y', $week_start).'<br/>';
echo date('D, M jS Y', $week_end).'<br/>';


echo date('D, M jS Y', $month_start).'<br/>';
echo date('D, M jS Y', $month_end).'<br/>';


echo date('D, M jS Y', $year_start).'<br/>';
echo date('D, M jS Y', $year_end).'<br/>';
Ar _ start = strtotime (“一月的第一天”,time ()) ;

我使用一种疯狂的方法来做到这一点,那就是使用这个命令

$firstDay=date('Y-m-d',strtotime("first day of this month"));
$lastDay=date('Y-m-d',strtotime("last day of this month"));

仅此而已

$year _ end = strtotime (‘ last day of December’,time ()) ;

使用日期法,我们应该能够得到结果。 回显日期(‘ D,M jS Y’,$week _ start) 即日期(‘ N/D/l’,mktime (0,0,0,月,日,年) ;

回波日期(‘ D,M jS Y’,$week _ end)

例如

echo date('N', mktime(0, 0, 0, 7, 1, 2017));   // will return 6
echo date('D', mktime(0, 0, 0, 7, 1, 2017));   // will return Sat
echo date('l', mktime(0, 0, 0, 7, 1, 2017));   // will return Saturday
回显日期(‘ D,M jS Y’,$month _ start)

我每天使用这个 cron 工作来检查我是否应该在任何给定的月份的第一天发送电子邮件给我的分支机构。比其他答案多了几行,但是坚如磐石。

//is this the first day of the month?
$date = date('Y-m-d');
$pieces = explode("-", $date);
$day = $pieces[2];


//if it's not the first day then stop
if($day != "01") {


echo "error - it's not the first of the month today";
exit;


}

有关这种方法的更多信息,请参见 这个条目

如果只想将 PEM 格式的证书导入密钥存储库,keytool 将完成这项工作:

keytool -import -alias *alias* -keystore cacerts -file *cert.pem*

本月开始和当月最后一秒的时间戳。 E (“本月第一天”,strtotime (“今天”)) ; 或者 你可以加上00:00:00或者只是参考“今天”

选择:

$startOfThisMonth = strtotime("first day of this month",strtotime("today"));
OR
$startOfThisMonth = strtotime("first day of this month 00:00:00");


$endOfThisMonth = strtotime("first day of next month",$startOfThisMonth)-1;

基本上,我得到了当前的天数,减少一天,然后从它自己的天数(“今天”自动重置时钟为00:00:00) ,你就得到了月初。

$startOfMonth = strtotime("today - ".(date("j")-1)." days");

最后,如果计划使用 HttpsURLConnection,请使用它注册您的证书:

        char[] passw = "password".toCharArray();
KeyStore ks = KeyStore.getInstance("JKS", "SUN");
ks.load(new FileInputStream ( "mykeystore" ), passw );


KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509");
kmf.init(ks, passw);


TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
tmf.init(ks);
TrustManager[] tm = tmf.getTrustManagers();


SSLContext sclx = SSLContext.getInstance("TLS");
sclx.init( kmf.getKeyManagers(), tm, null);


HostnameVerifier hv = new HostnameVerifier()
{
public boolean verify(String urlHostName, SSLSession session)
{
if (!urlHostName.equalsIgnoreCase(session.getPeerHost()))
{
System.out.println("Warning: URL host '" + urlHostName + "' is different to SSLSession host '" + session.getPeerHost() + "'.");
}
return true;
}
};


HttpsURLConnection.setDefaultSSLSocketFactory( sclx.getSocketFactory() );
HttpsURLConnection.setDefaultHostnameVerifier(hv);