导航:首页 > 编程语言 > 日历控件php

日历控件php

发布时间:2023-01-01 17:50:22

1. php如何 获取 my97datepicker日历控件提交的值!

表单提交的话。

若是get请求,$_GET['startDate'], post请求则是$_POST['startDate']

2. php日历插件的制作方法,求思路

<?phpheader("content-type:text/html;charset=utf-8");?>
<?php?>
<tableclass="tabletable-stripedtable-hover">
<?php
//注:32位机器或者32位PHP版本可能只能计算到2038年之前的月份
//若没有GET方法传入参数,则使用服务器本地当前日期;否则使用传入的参数,方便跳转月份
$year=date("Y");
$month=date("n");
$alert="<divclass='alertalert-warning'>输入的日期格式有误!</div>";
$alertYear="<divclass='alertalert-warning'>无法计算1901年以前的日历!</div>";
if($_REQUEST){
$year=$_REQUEST["year"];
$month=$_REQUEST["month"];
}
if(!in_array($month,array("1","2","3","4","5","6","7","8","9","10","11","12"))){echo$alert;exit;}
if($year<1901){echo$alertYear;exit;}
?>
<caption><h4><?phpecho$year;?>&nbsp;年&nbsp;<?phpecho$month;?>&nbsp;月</h4></caption>
<?php
//计算当前日期,当月天数,获得星期数据,将默认星期天数字0改为7,方便处理循环
$today=date("j");
$days=date("t",strtotime("$year-$month-01"));
$week=date("w",strtotime("$year-$month-01"));
if($week==0){$week=7;}
?>
<tr>
<th>一</th>
<th>二</th>
<th>三</th>
<th>四</th>
<th>五</th>
<th>六</th>
<th>日</th>
</tr>
<tr>
<?php
//插入空白无日期区域,循环次数为当前月第一天的星期数-1
for($space=1;$space<$week;$space++){
echo"<td>-</td>";
}
//循环插入数据,当到达周日时换行输出;标记当前日期为红色
for($day=1;$day<=$days;$day++){
if(($day+$week-1)%7===0){
if($day==$today&&$year==date("Y")&&$month==date("n")){
echo"<tdstyle='background-color:pink;'>$day</td>";
echo"</tr>";
echo"<tr>";
}
echo"<td>$day</td>";
echo"</tr>";
echo"<tr>";
}else{
if($day==$today&&$year==date("Y")&&$month==date("n")){
echo"<tdstyle='background-color:pink;'>$day</td>";
}else{
echo"<td>$day</td>";
}
}
}
//尾部补足
$spacing=36-$days-$week<0?43-$days-$week:36-$days-$week;
for($footer=1;$footer<=$spacing;$footer++){
echo"<td>-</td>";
}
?>
</tr>
</table>

我以前写的,你随意看看~~

3. PHP中实现在界面弹出日历框 通过点击将日期插入到数据库 怎么写啊

  1. 界面弹出日历框可以使用插件datepicker,也可以手写个日历插件,自定义更强一些,就是麻烦些,可以参考下我写的 https://codepen.io/shaoyikai/pen/gmgoxg ,比较简单,很方便修改;

  2. 点击的时候绑定一个js函数,此函数的作用是将点击的日期值通过ajax发送(get/post)到服务端;

  3. 服务端(php)通过$_GET或$_POST接收到传过来的值后,将其存入数据库。

4. 如何用PHP制作日历

calendar.class.php
代码如下:
<?php
classCalendar{
private$year;//当前的年
private$month;//当前的月
private$start_weekday;//当月的第一天对应的是周几
private$days;//当前月一共多少天

function__construct(){
$this->year=isset($_GET["year"])?$_GET["year"]:date("Y");
$this->month=isset($_GET["month"])?$_GET["month"]:date("m");

$this->start_weekday=date("w",mktime(0,0,0,$this->month,1,$this->year));
$this->days=date("t",mktime(0,0,0,$this->month,1,$this->year));
}

functionout(){
echo'<tablealign="center">';
$this->chageDate("test.php");
$this->weeksList();
$this->daysList();
echo'</table>';
}

privatefunctionweeksList(){
$week=array('日','一','二','三','四','五','六');

echo'<tr>';
for($i=0;$i<count($week);$i++)
echo'<thclass="fontb">'.$week[$i].'</th>';

echo'</tr>';
}

privatefunctiondaysList(){
echo'<tr>';
//输出空格(当前一月第一天前面要空出来)
for($j=0;$j<$this->start_weekday;$j++)
echo'<td></td>';


for($k=1;$k<=$this->days;$k++){
$j++;
if($k==date('d'))
echo'<tdclass="fontb">'.$k.'</td>';
else
echo'<td>'.$k.'</td>';

if($j%7==0)
echo'</tr><tr>';

}

//后面几个空格
while($j%7!==0){
echo'<td></td>';
$j++;
}

echo'</tr>';
}

privatefunctionprevYear($year,$month){
$year=$year-1;

if($year<1970)
$year=1970;

return"year={$year}&month={$month}";
}


privatefunctionprevMonth($year,$month){
if($month==1){
$year=$year-1;

if($year<1970)
$year=1970;

$month=12;
}else{
$month--;
}

return"year={$year}&month={$month}";
}


privatefunctionnextYear($year,$month){
$year=$year+1;

if($year>2038)
$year=2038;

return"year={$year}&month={$month}";
}


privatefunctionnextMonth($year,$month){
if($month==12){
$year++;

if($year>2100)
$year=2100;

$month=1;
}else{
$month++;
}


return"year={$year}&month={$month}";
}

privatefunctionchageDate($url=""){
echo'<tr>';
echo'<td><ahref="?'.$this->prevYear($this->year,$this->month).'">'.'<<'.'</a></td>';
echo'<td><ahref="?'.$this->prevMonth($this->year,$this->month).'">'.'<'.'</a></td>';
echo'<tdcolspan="3">';
echo'<form>';
echo'<selectname="year"onchange="window.location=''.$url.'?year='+this.options[selectedIndex].value+'&month='.$this->month.''">';
for($sy=1970;$sy<=2100;$sy++){
$selected=($sy==$this->year)?"selected":"";
echo'<option'.$selected.'value="'.$sy.'">'.$sy.'</option>';
}
echo'</select>';
echo'<selectname="month"onchange="window.location=''.$url.'?year='.$this->year.'&month='+this.options[selectedIndex].value">';
for($sm=1;$sm<=12;$sm++){
$selected1=($sm==$this->month)?"selected":"";
echo'<option'.$selected1.'value="'.$sm.'">'.$sm.'</option>';
}
echo'</select>';
echo'</form>';
echo'</td>';


echo'<td><ahref="?'.$this->nextYear($this->year,$this->month).'">'.'>>'.'</a></td>';
echo'<td><ahref="?'.$this->nextMonth($this->year,$this->month).'">'.'>'.'</a></td>';
echo'</tr>';
}

}
?>test.php

代码如下:
<style>
table{
border:1pxsolid#050;
}

.fontb{
color:white;
background:blue;
}


th{
width:30px;
}

td,th{
height:30px;
text-align:center;

}
form{
margin:0px;
padding:0px;
}
</style>
<?php
include"calendar.class.php";

$calendar=newCalendar;

$calendar->out();
?>

5. PHP怎样添加JS日历控件

日期插件的包为:mydate.js。

1:首先将日期插件的包引入到页面中

<scriptlanguage="JavaScript"src="../Inc/Js/mydate.js"></script>

2:设置鼠标点击事件,当鼠标点击获得焦点的时候,触发事件,调用方法

<inputtype="text"name="starttime"onfocus="MyCalendar.SetDate(this)"value="<?phpecho$rq;?>">
<inputtype="text"name="endtime"onfocus="MyCalendar.SetDate(this)"value="<?phpecho$rq;?>">

3:完整页面代码

<?php
date_default_timezone_set("PRC");
$nowtime=time();
$rq=date("Y-m-d",$nowtime);
?>
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/>
<metaname="generator"content="FFKJ.Net"/>
<linkrev="MADE"href="mailto:[email protected]">
<title>在线--后台</title>
<linkrel="stylesheet"type="text/css"href="../Skins/Admin_Style.Css"/>
<scriptlanguage="JavaScript"src="../Inc/Js/mydate.js"></script>
</head>
<body>
开始时间:<inputtype="text"name="starttime"onfocus="MyCalendar.SetDate(this)"value="<?phpecho$rq;?>">
结束时间:<inputtype="text"name="endtime"onfocus="MyCalendar.SetDate(this)"value="<?phpecho$rq;?>">
</body>
</html>

6. jquery 日历控件在php中怎么使用

日历插件:
在页面开发中,经常遇到需要用户输入日期的操作。通常的做法是,提供一个文本框,让用户输入,然后,编写代码验证输入的数据,检测其是否是日期型。这样比较麻烦,同时,用户输入日期的操作也不是很方便,影响用户体验。如果使用jQuery UI 中的datepicker日历插件,这些问题都可以迎刃而解。该插件调用的语法格式如下:
$(".selector").datepicker(options);

其中".selector"表示DOM元素,一般指文本框,由于该插件的作用是提供日期选择,因此,常与一个文本框绑定,将选择后的日期显示在该文本框中。选项options是一个对象。
下面是一些参数:
changeMonth 设置一个布尔值,如果为true,则可以在标题处出现一个下拉选择框,可以选择月份,默认值为false
changeYear 设置一个布尔值,如果为true,则可以在标题处出现一个下拉选择框,可以选择年份,默认值为false
showButtonPanel 设置一个布尔值,如果为true, 则在日期的下面显示一个面板,其中有两个按钮;一个为“今天”,另一个按键为“关闭”,默认值为false,表示不显示。
closeText 设置关闭按钮上的文字信息,这项设置的前提是,showButtonPanel的值必须为true,否则显示不了效果。
dateFormat 设置显示在文本框中的日期格式,可设置为{dateFormat:'yy-mm-dd'},表示日期的格式为年-月-日,如2012-10-1.
defaultDate 设置一个默认日期值,如{defaultDate:+7}, 表示,弹出日期选择窗口后,默认的日期是在当前日期加上7天
showAnim 设置显示弹出或隐藏日期选择窗口的方式。可以设置的方式有,“show"、"slideDown"、"fadeIn“,或者为"", 表示没有弹出日期选择窗口的方式。
showWeek 设置一个布尔值,如果为true,则可以显示每天对应的星期,默认值为false
yearRange 设置年份的范围,如{yearRange:'2000:2010'},表示年份下拉列表框的最小值为2000年,最大值为2010年,默认值为c-10;c+10,当前年份的前后10年。

7. PHP 日历插件怎么让默认显示的时间不是今天,而是自定义或者数据库读取出来的时间

建议你存的时候存用time()函数的到的秒,数据表字段类型弄成int(10)就可以,输出的时候可以直接用date('Y-m-d',db['time'])格式化输出了!

8. php设置悬浮时显示日期

1、在控件下面或右面弹出日历组件默认是在下面弹出。
2、通过按钮或图片等其它控件弹出日历组件。
3、显示日期的2种格式。
4、在文本框设置自己需要的时间的日期。

9. 如何写日历空间。直接在页面上显示。(php)

去jqueryui.com官网,下载日历控件,上面有很详细的使用说明

$("#id").datepicker();绑定id就可以了,还可以设置参数

10. PHP中的国际化日历类

在 PHP 的国际化组件中,还有一个我们并不是很常用的跟日期相关的操作类,它就是日历操作类。说是日历,其实大部分还是对日期时间的操作,一般也是主要用于日期的格式化和比较之类的。但是通常我们直接使用 date 相关的函数或者 DateTime 相关的类操作日期相关的功能,反而比这套日历的功能更方便灵活。当然,本着学习的目的,我们还是来简单地了解一下。

首先还是从格式化时间说起。

IntlCalendar 类的 createInstance() 方法会返回一个 IntlCalendar 对象,它的参数是可选的,不过必须是 TimeZone 类型的参数。fromDateTime() 方法同样也是生成一个 IntlCalendar 对象,不过它可以设置一个 DateTime 对象或者日期类型的字符串为参数。

可以看到,我们返回的对象使用 get_class() 方法后看到实际返回的是一个 IntlGregorianCalendar 格林格里日历对象。这时,就可以使用 IntlDateFormatter 类的 formatObject() 方法来格式化输出内容,它是可以指定地区的,不同的地区设置就会显示不同的格式化语言结果。

不多做解释了,不过这个静态方法返的是带毫秒数的时间戳。

只要是国际化相关的功能,都多少和时区 TimeZone 有关,日历类也不例外。

使用 getTimeZone() 就可以获得当前的时区信息,getLocale() 和之前我们文章中其它相关功能类的 getLocale() 方法没有什么区别,大家可以看下之前讲过的内容。当然,这个 TimeZone 属性除了通过 ini_set() 之外,也是可以直接通过对象的 setTimeZone() 方法进行修改的。

这是什么意思呢?先看下代码。

楼上这一堆是什么鬼?其实这几个方法就是返回的指定参数字段内容的最大、最小值,比如我们查看的是 FIELD_DAY_OF_MONTH ,也就是月份有多少天。getActualMaximum() 返回的是实际值,比如 2020 年的 2 月份是有 29 天的 。getMaximum() 返回的是正常月份的最大值,都是 31 。getActualMinimum() 、getMinimum() 返回的是实际最小值和正常最小值,这个对于月份来说都是 1 ,每个月都肯定会有第 1 天。getLeastMaximum() 方法是获取字段的最小局部最大值,怎么理解呢?2月份最小天数是28天,它的局部最大值也就是28天,其它月份则分 30 和 31 天。

这个功能主要是可以设置一周的起始日期是周几。比如对于欧美的国际标准时间来说,周一并不是一周的开始,周日才是这一周的第一天。大家从各种日历应用中就能发现这个问题。

在当前的时区中,我们 getFirstDayOfWeek() 返回的结果是 1 ,也就是周一为一周的起点,周几是从 0 开始计算的。set() 方法可以设置具体的日期,需要注意月份也是从 0 开始的。我们再使用 IntlDateFormatter::formatObject() 输出当前日期在周几、在月中的第几周以及当前周是今年的第几周。在这里我们设置的是 2020年的 6 月 30 号,'cc' 表示的当前日期在周中是周四,是一周中的第四天(不是指定的6月30号,是我们运行代码时的时间,方便我们修改后查看),当前周是在当前月是第五周,当前周在整年里的是第 27 周。如果我们改变这个每周开始的时间呢?

嗯,'cc' 变为 1 了,当前成为了周一。现在是在当前月份的第 6 周了,因为我们现在一周的开始是从周四开始算的啦。

这个比较简单,日历对象内部的属性不同,当然 equals() 方法返回的结果就是 false 了。

除了比较日历对象外,还可以获取两个日历时间之前的差值信息。

可以看到使用 fieldDifference() 方法就可以获得日历对象和比较日期之间相关的信息。需要注意的是,使用 fieldDifference() 之后,原来的日历对象全变成新的日期信息。

getKeywordValuesForLocale() 方法的第一个参数只能固定写 calendar ,后面是填写相关的区域,返回的内容就是当前语言环境下所支持的相关字值信息。

很明显,getType() 方法返回的就是指定语言区域信息的类型。

使用 roll() 方法可以滚动或者说是卷动日历,在这里我们将日历滚动一天,也就是加了一天的时间。

使用 toDateTime() 方法就可以将当前的 IntlCalendar 对象转换成 DateTime 对象。

getAvailableLocales() 返回的是当前系统中所有支持可用的 Locale 信息。

关于日历类其实还有很多方法函数,但是看得人非常头晕,英文解释不多,资料也不清晰,所以这里就是简单的列举了一些内容。大家还是报以学习的心态了解即可,当需要使用到的时候可以快速地想起还这些功能就可以了。

测试代码:https://github.com/zhangyue0503/dev-blog/blob/master/php/202011/source/7.PHP中的国际化日历类.php

参考文档:

https://www.php.net/manual/zh/class.intlcalendar.php

阅读全文

与日历控件php相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:962
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:144
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:736
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:302
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:143
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:892
app转账是什么 浏览:163