- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想从我的日历中禁用过去的日期,我选择了一些文章。但没有什么能有太大帮助。
这是我的代码
import('form.FormElement');
import('DateAndTime');
class Calendar extends FormElement {
var $holidays = array();
var $showHolidays = true;
var $weekStartDay = 0;
var $mHeader = "padding: 5px; font-size: 8pt; color: #333333; background-color: #d9d9d9;";
var $mDayCell = "padding: 5px; border: 1px solid silver; font-size: 8pt; color: #333333; background-color: #ffffff;";
var $mDaySelected = "padding: 5px; border: 1px solid silver; font-size: 8pt; color: #666666; background-color: #a6ccf7;";
var $mDayWeekend = "padding: 5px; border: 1px solid silver; font-size: 8pt; color: #666666; background-color: #f7f7f7;";
var $mDayHoliday = "padding: 5px; border: 1px solid silver; font-size: 8pt; color: #666666; background-color: #f7f7f7;";
var $mDayHeader = "padding: 5px; border: 1px solid white; font-size: 8pt; color: #333333;";
var $mDayHeaderWeekend = "padding: 5px; border: 1px solid white; font-size: 8pt; color: #999999;";
var $controlName = "";
var $highlight = "time"; // Determines what type of active days to highlight ("time" or "expenses").
// var $mAllDays = true;
var $cClassName = "Calendar";
function __construct($name) {
$this->controlName = $name;
$this->mMonthNames = array('January','February','March','April','May','June','July','August','September','October','November','December');
$this->mWeekDayShortNames = array('Su','Mo','Tu','We','Th','Fr','Sa');
}
function setHighlight($highlight) {
if ($highlight && $highlight != 'time')
$this->highlight = $highlight;
}
function setLocalization($i18n) {
global $user;
FormElement::setLocalization($i18n);
$this->mMonthNames = $i18n->monthNames;
$this->mWeekDayShortNames = $i18n->weekdayShortNames;
if (is_array($i18n->holidays)) {
foreach ($i18n->holidays as $fday) {
$date_a = explode("/",$fday); // format mm/dd
$this->holidays[] = mktime(0,0,0, $date_a[0], $date_a[1], date("Y"));// + 7200;
}
}
$this->weekStartDay = $user->week_start;
}
function setStyle($style) { $this->mStyle = $style; }
function setCellStyle($style) { $this->mCellStyle = $style; }
function setACellStyle($style) { $this->mACellStyle = $style; }
function setLinkStyle($style) { $this->mLinkStyle = $style; }
function setShowHolidays($value) {
$this->showHolidays = $value;
}
/**
* @return void
* @param date
* @desc Enter description here...
*/
function toString($date="") {
global $i18n;
$indate = $this->mValue;
if (!$indate) $indate = strftime(DB_DATEFORMAT);
if (!$this->isRenderable()) return "";
//current year and month
if ( strlen ( $indate ) > 0 ) {
$indateObj = new DateAndTime(DB_DATEFORMAT, $indate);
$thismonth = $indateObj->getMonth();
$thisyear = $indateObj->getYear();
} else {
$thismonth = date("m");
$thisyear = date("Y");
}
// next date, month, year
$next = mktime ( 2, 0, 0, $thismonth + 1, 1, $thisyear );
$nextyear = date ( "Y", $next );
$nextmonth = date ( "m", $next );
$nextdate = strftime (DB_DATEFORMAT, $next );
// prev date, month, year
$prev = mktime ( 2, 0, 0, $thismonth - 1, 1, $thisyear );
$prevyear = date ( "Y", $prev );
$prevmonth = date ( "m", $prev );
$prevdate = strftime(DB_DATEFORMAT, $prev );
$str = $this->_genStyles();
$str .= '<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr><td align="center"><div class="CalendarHeader">'.
//'<a href="?date='.$prevyear.'"><<</a> '.
'<a href="?date='.$prevdate.'" tabindex="-1"><<<</a> '.
$this->mMonthNames[$thismonth-1].' '.$thisyear.
' <a href="?date='.$nextdate.'" tabindex="-1">>>></a>'.
//' <a href="?date='.$nextyear.'">>></a>'.
'</div></td></tr>
</table>';
$str .= '<center>
<table border="0" cellpadding="1" cellspacing="1" width="100%">
<tr>';
$str .= "<tr>";
$weekend_start = 6 - $this->weekStartDay; // Saturday by default.
$weekend_end = (7 - $this->weekStartDay) % 7; // Sunday by default.
if (defined('WEEKEND_START_DAY')) {
$weekend_start = (7 + WEEKEND_START_DAY - $this->weekStartDay) % 7;
$weekend_end = (7 + WEEKEND_START_DAY + 1 - $this->weekStartDay) % 7;
}
for ( $i=0; $i<7; $i++ ) {
$weekdayNameIdx = ($i + $this->weekStartDay) % 7;
if ($i==$weekend_start || $i==$weekend_end) {
$str .= '<td class="CalendarDayHeaderWeekend">'.$this->mWeekDayShortNames[$weekdayNameIdx].'</td>';
} else {
$str .= '<td class="CalendarDayHeader">'.$this->mWeekDayShortNames[$weekdayNameIdx].'</td>';
}
}
$str .= "</tr>\n";
list($wkstart,$monthstart,$monthend,$start_date) = $this->_getWeekDayBefore( $thisyear, $thismonth );
$active_dates = $this->_getActiveDates($monthstart, $monthend);
for ( $i = $wkstart; $i<=$monthend; $i=mktime(0,0,0,$thismonth,$start_date+=7,$thisyear) ) {
$str .= "<TR>\n";
for ( $j = 0; $j < 7; $j++ ) {
$date = mktime(0,0,0,$thismonth,$start_date+$j,$thisyear);
if (($date >= $monthstart) && ($date <= $monthend)) {
$stl_cell = "";
$stl_link = "";
// weekend
if ($j==$weekend_start || $j==$weekend_end) {
$stl_cell = ' class="CalendarDayWeekend"';
$stl_link = ' class="CalendarLinkWeekend"';
} else {
$stl_cell = ' class="CalendarDay"';
}
// holidays
if ($this->showHolidays) {
foreach ($this->holidays as $day) {
if($day == $date) {
$stl_cell = ' class="CalendarDayHoliday"';
$stl_link = ' class="CalendarLinkHoliday"';
}
}
}
// selected day
if ( $indate == strftime(DB_DATEFORMAT, $date))
$stl_cell = ' class="CalendarDaySelected"';
$str .= '<td'.$stl_cell.'>';
// Entries exist.
if($active_dates) {
if( in_array(strftime(DB_DATEFORMAT, $date), $active_dates) )
$stl_link = ' class="CalendarLinkRecordsExist"';
}
$str .= "<a".$stl_link." href=\"?".$this->controlName."=".strftime(DB_DATEFORMAT, $date)."\" tabindex=\"-1\">".date("d",$date)."</a>";
$str .= "</TD>";
}
else {
$str .= "<TD> </TD>\n";
}
}
$str .= "</TR>\n";
}
$str .= "<tr><td colspan=\"7\" align=\"center\"><a id=\"today_link\" href=\"?".$this->controlName."=".strftime(DB_DATEFORMAT)."\" tabindex=\"-1\">".$i18n->getKey('label.today')."</a></td></tr>\n";
$str .= "</table>\n";
$str .= "<input type=\"hidden\" name=\"$this->controlName\" value=\"$indate\">\n";
// Add script to adjust today link to match browser today, as PHP may run in a different timezone.
$str .= "<script>\n";
$str .= "function adjustToday() {\n";
$str .= " var browser_today = new Date();\n";
$str .= " document.getElementById('today_link').href = '?$this->controlName='+browser_today.strftime('".DB_DATEFORMAT."');\n";
$str .= "}\n";
$str .= "adjustToday();\n";
$str .= "</script>\n";
return $str;
}
function toStringControl() {
return $this->toString();
}
function _getWeekDayBefore($year, $month) {
$weekday = date ( "w", mktime ( 2, 0, 0, $month, 1 - $this->weekStartDay, $year ) );
return array(
mktime ( 0, 0, 0, $month, 1 - $weekday, $year ),
mktime ( 0, 0, 0, $month, 1, $year ),
mktime ( 0, 0, 0, $month + 1, 0, $year ),
(1 - $weekday)
);
}
function _genStyles() {
$str = "<style>\n";
$str .= ".CalendarHeader {". $this->mHeader ."}\n";
$str .= ".CalendarDay {". $this->mDayCell ."}\n";
$str .= ".CalendarDaySelected {". $this->mDaySelected ."}\n";
$str .= ".CalendarDayWeekend {". $this->mDayWeekend ."}\n";
$str .= ".CalendarDayHoliday {". $this->mDayHoliday ."}\n";
$str .= ".CalendarDayHeader {". $this->mDayHeader ."}\n";
$str .= ".CalendarDayHeaderWeekend {". $this->mDayHeaderWeekend ."}\n";
$str .= ".CalendarLinkWeekend {color: #999999;}\n";
$str .= ".CalendarLinkHoliday {color: #999999;}\n";
$str .= ".CalendarLinkRecordsExist {color: #FF0000;}\n";
$str .= "</style>\n";
return $str;
}
// _getActiveDates returns an array of dates, for which entries exist for user.
// Type of entries (time or expenses) is determined by $this->highlight value.
function _getActiveDates($start, $end) {
global $user;
$user_id = $user->getActiveUser();
$table = ($this->highlight == 'expenses') ? 'tt_expense_items' : 'tt_log';
$mdb2 = getConnection();
$start_date = date("Y-m-d", $start);
$end_date = date("Y-m-d", $end);
$sql = "SELECT date FROM $table WHERE date >= '$start_date' AND date <= '$end_date' AND user_id = $user_id AND status = 1";
$res = $mdb2->query($sql);
if (!is_a($res, 'PEAR_Error')) {
while ($row = $res->fetchRow()) {
$out[] = date('Y-m-d', strtotime($row['date']));
}
return @$out;
}
else
return false;
}
}
如何禁用当前日期中的过去日期?我尝试了一些类似问题的帖子,但无法实现,以下是我尝试过的
提前致谢:)
最佳答案
初始化日期选择器时,您必须创建一个新的日期对象并将其设置为 minDate
<label for="from">From</label> <input type="text" id="from" name="from"/> <label for="to">to</label> <input type="text" id="to" name="to"/>
var dateToday = new Date();
var dates = $("#from, #to").datepicker({
defaultDate: "+1w",
changeMonth: true,
numberOfMonths: 3,
minDate: dateToday,
onSelect: function(selectedDate) {
var option = this.id == "from" ? "minDate" : "maxDate",
instance = $(this).data("datepicker"),
date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, selectedDate, instance.settings);
dates.not(this).datepicker("option", option, date);
}
});
关于javascript - 如何从我的日历中禁用过去的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39617072/
我的数据库中有两张表,一张用于 field ,另一张用于预订。我需要的是一个查询来选择所有未预订的 field 。见下文: 餐 table 预订具有以下字段: bk_id venue_id 作为(预订
嗨,我是编码新手,我有一些培训项目,其中包括从 HTML 表单输入 MySQL 数据库。它就像你玩过的游戏的日志。第一个日期输入是您开始游戏的时间,第二个日期输入是您完成游戏的时间。但我需要检查器或类
我是这个 sql 编码的新手,我正在尝试学习新的东西。因此,我创建了一个交货表,其中包含一些属性,如商品代码、交货日期、交货数量。所以如何从同一张表中获取第一个交货日期(最小日期)和交货数量以及最晚交
我从支付网关返回了这个日期 2014-05-15T08:40:52+01:00 我得到 2014-05-15T08:40:52 但我无法识别时区 +01:00 的含义 我的位置时区是 UTC−06:0
我快要疯了,请帮忙。 我有一列包含日期时间值。 我需要找到每天的最小值和最大值。 数据看起来像这样 2012-11-23 05:49:26.000 2012-11-23 07:55:43.000
我从 json 数据中获取日期为 2015 年 4 月 15 日晚上 10:15我只想在 html 页面中显示 json 响应数据的时间,例如 10:15 PM这里我放了我的js函数和html代码 J
是否有 javascript 库或其他机制允许我将 .NET 日期/时间格式字符串(即 yyyy-MM-dd HH:mm:ss)传递给 javascript函数并让它相应地解析提供的日期时间值?我一直
我正在使用以下代码以正确的格式获取当前的 UTC 时间,但客户返回并要求时间戳现在使用 EST 而不是 UTC。我搜索了 Google 和 stackoverflow,但找不到适用于我现有代码的答案。
我有以下日期的平均温度数据。我想找到连续至少 5 天低于或高于 0 摄氏度的开始日期。 date_short mean.temp 1 2018-05-18 17.54 2 2018-05-19
它可以在其他网络浏览器中使用,但 IE11 返回无效日期。 为了调试我使用了下面的代码。 console.log('before - ' + date.value); date.value = new
我在 Excel 中有一个数据的 Web 提取,其中日期列带有/Date(1388624400000)/。我需要在 Excel 中将其转换为日期。 最佳答案 能够从 here 中推断出它. 假设字符串
嗨,我的 Schmema 有一个带有 ISO 日期的字段: ISODate("2015-04-30T14:47:46.501Z") Paypal 在成功付款后以该形式返回日期对象: Time/Date
我的 table : CREATE TABLE `tbdata` ( `ID` INT(10) NOT NULL AUTO_INCREMENT, `PatientID` INT(10) NOT
我正在 Ubuntu 服务器 12.04 中编写一个 shell 脚本,它应该比较日志文件中的一些数据。在日志文件中,日期以以下格式给出: [Mon Apr 08 15:02:54 2013] 如您所
我想使用 GROUP BY WITH ROLLUP 创建一个表并获取总行数而不是 null。 $sql ="SELECT IF(YEAR(transaktioner.datum
我正在创建博客文章,在成功迁移我的博客文件后,当我转到我网站的博客页面时返回一个错误(无法解析其余部分:':“Ymd”'来自'post.date|date: "Ymd"') 我似乎无法确定这是语法错误
我正在尝试获取要插入到 CAML 查询中的月份范围,即:2010-09-01 和 2010-09-30。 我使用以下代码生成这两个值: var month = "10/2010"; var month
如何将代码document.write("直到指定日期")更改为writeMessage(date)中的日期?此外,writeMessage(date) 中的日期未正确显示(仅显示年份)。感谢您帮助解
我在 Windows (XP) 和 Linux 上都尝试过 utime()。在 Windows 上我得到一个 EACCES 错误,在 Linux 上我没有得到任何错误(但时间没有改变)。我的 utim
我正在尝试计算发生在同一日期的值的总和(在 XYZmin 中)。 我的数据看起来像这样, bar <- structure(list(date = structure(c(15622, 15622,
我是一名优秀的程序员,十分优秀!