当前位置:首页 » 编程语言 » php当月的第一天

php当月的第一天

发布时间: 2022-04-30 17:51:16

A. 关于一个php判断当月开始和结束的时间戳的问题

下面的代码调试通过,绝对保证正确,希望你能够看明白:

<?php
$today=localtime(time(), true);
$m_start=mktime(0,0,0,$today['tm_mon'],1,$today['tm_year']);
if ($today['tm_mon']==11){
$today['tm_mon']=0;
$today['tm_year']++;
}else $today['tm_mon']++;
$m_stop=mktime(0,0,0,$today['tm_mon'],1,$today['tm_year'])-1;
//显示结果
print_r(localtime($m_start, true));
print_r(localtime($m_stop, true));
?>

B. php日历模块的运算逻辑求解!如何求日期对应的星期几!

现在以2010年6月14日为例说明。6月份共有30天,在这个日历表中共5行,首先需要确定当前所在的日期(当然也可以指定一个日期),比如14日,通过表格可以知道它在第3行对应星期一那列(第3周)。通常每个月第1天不是在表格开始的位置,位置并不固定,同样不固定的还有每个月的周数,有时候是4周,有时候是5周。这样,想要完成这个日历表格就需要确定一些基础的日期变量,下面具体来看需要设定的基础变量。

PHP提供了date()函数,该函数提供了丰富的日期处理功能。现在需要获得的数据有两个,第一个是当月的总天数;第二个是该月的第一天所在星期中的第几天,数字表示0(表示星期天)到6(表示星期六)。通过date()函数可以很容易获得上面的数据。

<?php

//date()函数的基本用法

$year = date('Y'); //获得年份,例如2006

$month = date('n'); //获得月份,例如04

$day = date('j'); //获得日期,例如3

?>

通过mktime()函数和date()函数获得当月的总天数。

//获得当月的总天数

$daysInMonth = date("t",mktime(0,0,0,$month,1,$year));

同样是组合使用mktime()函数和date()函数,获得该月的第一天所在星期中的第几天,数字表示0(表示星期天)到6(表示星期六)。

//获得每个月的第一天,例如4

$firstDay = date("w", mktime(0,0,0,$month,1,$year));

现在重新来观察下这个日历表格,我们发现,表格中的值是从1到x(当月的总天数)。我们可以形象地通过一个坐标来表示每一个位置(x,y),表格的起始位置是(0,0),结束位置是(5,4),当月第一天的起始位置是(0,3)。现在来创建一个二维数组来存储对应的日期。

(1)需要获得表格的数目。

//计算数组中的日历表格数

$tempDays = $firstDay + $daysInMonth;

(2)需要算出该月一共有几周(即表格的行数)。

//获得表格行数

$weeksInMonth = ceil($tempDays/7);

(3)在获得行数的变量之后,创建一个二维数组用来存放日期信息,代码如下:

<?php

for($j=0;$j<$weeksInMonth;$j++)

{

for($i=0;$i<7

;$i++)

{

$counter ++;

$week [$j] [$i] = $counter;

}

}

?>

(4)细心的读者可能发现,上面的代码其实是一个雏型,因为它处理出来的数据并没有过滤那些空白的表格单元。下面来继续改造下这段代码,加入过滤和构造的部分。改造后的代码如下:

<?php

//创建日期二维数组

for($j = 0; $j < $weeksInMonth; $j ++) {

for($i = 0; $i < 7; $i ++) {

$counter ++;

$week [$j] [$i] = $counter;

//日期偏移量

$week [$j] [$i] -= $firstDay;

if (($week [$j] [$i] < 1) || ($week [$j] [$i] > $daysInMonth)) {

$week [$j] [$i] = "";

}

}

}

?>

(5)在获得正确的二维数组之后,就可以通过foreach()函数将存储的日期信息遍历出来,同时插入HTML标签创建日期

不知是否正确,转自我的一个朋友

C. PHP DATE 如何取得当月的第一天和最后一天

<?php
$first_day=date('Y-m-01');//第一天,肯定是1号了,这是送分的
$last_day=date('Y-m-t');//最后一天,t表示每月有多少天,也相当于送分的……
echo"第一天:{$first_day}最后一天:{$last_day}";

D. php获取当月天数及当月第一天及最后一天、上月第一天及最后一天实现方法是什么

date('Y-m-01', strtotime('-1 month')); //上个月第一天
date('Y-m-t', strtotime('-1 month')); //上个月最后一天
$BeginDate=date('Y-m-01', strtotime(date("Y-m-d"))); //当月第一天
date('Y-m-d', strtotime("$BeginDate +1 month -1 day")); //当月最后一天

E. php获取当年的每个月的第一天和最后一天时间戳的函数

/**
* 获取指定月份的第一天开始和最后一天结束的时间戳
*
* @param int $y 年份 $m 月份
* @return array(本月开始时间,本月结束时间)
*/
function mFristAndLast($y="",$m=""){
if($y=="") $y=date("Y");
if($m=="") $m=date("m");
$m=sprintf("%02d",intval($m));
$y=str_pad(intval($y),4,"0",STR_PAD_RIGHT);
$m>12||$m<1?$m=1:$m=$m;
$firstday=strtotime($y.$m."01000000");
$firstdaystr=date("Y-m-01",$firstday);
$lastday = strtotime(date('Y-m-d 23:59:59', strtotime("$firstdaystr +1 month -1 day")));
return array("firstday"=>$firstday,"lastday"=>$lastday);
}

F. 如何获取当前月份的下一月的第一天 php

可以这样获取:echo date("Y-m-01",strtotime("+1 month"));

G. php有没相关函数可以获取给定日期的上个月的第一天及最后一天

没有,可以取当前月的第一天00:00的时间戳,然后减24小时,再date即是上个月的最后一天。
如:
$prev_month_last_day = date("Y/m/d", strtotime(date("Y-m-1")) - 86400);
list($year, $month, $day) = explode("/", $prev_month_last_day);
$prev_month_first_day = $year . '/' . $month . '/1';
printf("first day of prev month is : %s\nlast day of prev month is : %s\n", $prev_month_first_day, $prev_month_last_day);

H. 怎么用PHP获得当前月的1号是从星期几开始的呢急急急!!!!!

$xingqi = Date("w", strtotime(Date("Y-n-1"))) ;
switch($xingqi)
{
case 0: $xingqi = "星期日";
break;
case 1: $xingqi = "星期一";
break;
case 2: $xingqi = "星期二";
break;
case 3: $xingqi = "星期三";
break;
case 4: $xingqi = "星期四";
break;
case 5: $xingqi = "星期五";
break;
case 6: $xingqi = "星期六";
break;
default: echo "获取不到星期,有错误!";
}
echo "本月的第一天是: ".$xingqi;

I. php求当前季度的第一天和最后一天

<?php
//第一天
function GetInceDay()
{
$month = date("m");
if ($month >=1 && $month < 4)
{
return "1月1日";
}
else if ($month >= 4 && $month < 7)
{
return "4月1日";
}
else if ($month >= 7 && $month < 10)
{
return "7月1日";
}
else
{
return "10月1日";
}
return "";
}
//最后一天
function GetEndDay()
{
$month = date("m");
if ($month >= 1 && $month < 4)
{
return "3月31日";
}
else if ($month >= 4 && $month < 7)
{
return "6月30日";
}
else if ($month >= 7 && $month < 10)
{
return "9月30日";
}
else
{
return "12月31日";
}
return "";
}
?>

<?php echo "本季度第一天:".GetInceDay()."<br>";?>
<?php echo "本季度最后一天:".GetEndDay()."<br>";?>

J. php中用time()函数存入时间,如何查询当月的数据

这个time()函数是将时间保存成时间戳格式,则要查当月数据,只要查当月第一天到当月最后一天的之间的数据即可。
假设这个用来判断的字段是date
sql语句
SELECT ………… WHERE………… `date` >= 本月第一天的time值 AND `date` < 下个月第一天的time值
所以这里就只要获取当月第一天以及下个月第一天的时间戳
具体如下:
<?php
$cur = date('Y-m',time());//当天年月
$cur_y = date('Y',time());//当天年份
$cur_m = date('m',time());//当天月份
$cur_f = $cur . '-1';//本月首日
$first = strtotime($cur_f);//时间戳最小值,本月第一天时间戳
//下月首日
if($cur_m>=12){
$cur_n = ($cur_y+1) . '-1-1';
}else{
$cur_n = $cur_y . '-' . ($cur_m+1) . '-1';
}

$last = strtotime($cur_n);//时间戳最大值,下个月第一天时间戳

?>
再把$first 和 $last 放入sql语句里面就可以查询到数据了

热点内容
压缩的玉 发布:2025-05-15 07:51:22 浏览:788
android的控件 发布:2025-05-15 07:50:36 浏览:551
南岗法院服务器ip地址 发布:2025-05-15 07:46:02 浏览:286
实况如何退出账号安卓 发布:2025-05-15 07:45:56 浏览:917
深入编译器 发布:2025-05-15 07:41:35 浏览:878
电信手机号服务密码怎么查 发布:2025-05-15 07:40:10 浏览:613
python全局变量文件 发布:2025-05-15 07:35:06 浏览:954
字节和存储字节 发布:2025-05-15 07:32:10 浏览:521
linux应用开发工程师 发布:2025-05-15 07:32:07 浏览:261
sqldcl 发布:2025-05-15 07:29:18 浏览:199