728x90
■ 달력 ( datepicker )

bootstrap.min.zip
0.02MB
css.zip
0.17MB
js.zip
0.81MB
// date-picker
<?
require_once('../connection.php');
require_once('../library/json.php');
session_start();
?>
<html lang="en" class="no-js">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta charset="utf-8" />
<title>ERP SYSTEM</title>
<!-- bootstrap & fontawesome -->
<link rel="stylesheet" href="../../assets/css/bootstrap.min.css" />
<link rel="stylesheet" href="../../assets/css/ace.min.css" class="ace-main-stylesheet" id="main-ace-style" />
<!-- page specific plugin scripts -->
<script src="../../assets/js/jquery-ui.min.js"></script>
<script src="../../assets/js/jquery.min.js"></script>
<script src="../../assets/js/bootstrap-datepicker.min.js"></script>
</head>
<body>
<span class="input-icon input-icon-right">
<div class="input-group">
<input class="date-picker" style="width:120px;height:90px;" type="text" data-date-format="yyyy-mm-dd" name="create_dt" id="create_dt" value="<?=date("Y-m-d")?>" readonly/>
<span class="input-group-addon">
<i class="fa fa-calendar bigger-110"></i>
</span>
</div>
</span>
</body>
</html>
<script type="text/javascript">
(function($){
$.fn.datepicker.dates['kr'] = {
days: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일", "일요일"],
daysShort: ["일", "월", "화", "수", "목", "금", "토", "일"],
daysMin: ["일", "월", "화", "수", "목", "금", "토", "일"],
months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"],
monthsShort: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"]
};
}(jQuery));
jQuery(function($) {
//datepicker plugin
//link
$('.date-picker').datepicker({
autoclose: true,
todayHighlight: true,
language: "kr"
})
//show datepicker when clicking on the icon
.next().on(ace.click_event, function(){
$(this).prev().focus();
});
});
</script>
//기준일 이전 전택 막기
var first = $("#start_dt").val();
var working_dt = $("#working_dt").val();
if(parseInt(first.replace(/-/g,""),10) > parseInt(working_dt.replace(/-/g,""),10)){
showAlert("검색일이 현재보다 미래일 수 없습니다");
return;
}
jQuery(function($){
/*
//config 값을 json형식으로 만든후 setDefaults로 설정할수도 있음.
$.datepicker.regional['ko'] = {closeText: '닫기',dayNamesShort: ['일','월','화','수','목','금','토']};
$.datepicker.setDefaults($.datepicker.regional['ko']);
*/
$(".calander").datepicker({
changeMonth:true,
changeYear:true,
yearRange:"1900:2014",
showOn:"both",
buttonImage:"../img/ico/calendar.gif",
buttonImageOnly:true,
dateFormat: 'yy-mm-dd',
showOtherMonths: true,
selectOtherMonths: true,
showMonthAfterYear: true,
dayNamesMin: ['일','월', '화', '수', '목', '금', '토'],
monthNamesShort: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'],
monthNames: ['년 1월','년 2월','년 3월','년 4월','년 5월','년 6월','년 7월','년 8월','년 9월','년 10월','년 11월','년 12월'],
nextText: '다음 달',
prevText: '이전 달',
beforeShowDay: disableAllTheseDays
});
});
// 특정날짜들 배열
var disabledDays = ["2013-7-9","2013-7-24","2013-7-26"];
// 주말(토, 일요일) 선택 막기
function noWeekendsOrHolidays(date) {
var noWeekend = jQuery.datepicker.noWeekends(date);
return noWeekend[0] ? [true] : noWeekend;
}
// 일요일만 선택 막기
function noSundays(date) {
return [date.getDay() != 0, ''];
}
// 이전 날짜들은 선택막기
function noBefore(date){
if (date < new Date())
return [false];
return [true];
}
// 특정일 선택막기
function disableAllTheseDays(date) {
var m = date.getMonth(), d = date.getDate(), y = date.getFullYear();
for (i = 0; i < disabledDays.length; i++) {
if($.inArray(y + '-' +(m+1) + '-' + d,disabledDays) != -1) {
return [false];
}
}
return [true];
}
// 날짜를 입력 하면 오늘 날짜로부터 숫자만큼 전날의 날짜를 yyyy/mm/dd 형식으로 돌려 준다.
function caldate(day){
var caledmonth, caledday, caledYear;
var loadDt = new Date();
var v = new Date(Date.parse(loadDt) + day*1000*60*60*24);
caledYear = v.getFullYear();
if( v.getMonth() < 9 ){
caledmonth = '0'+(v.getMonth()+1);
}else{
caledmonth = v.getMonth()+1;
}
if( v.getDate() < 9 ){
caledday = '0'+v.getDate();
}else{
caledday = v.getDate();
}
return caledYear+'-'+ caledmonth +'-'+ caledday;
}
// 오늘 날짜 가져오기
//=========================================
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1;
var yyyy = today.getFullYear();
if(dd<10) { dd='0'+dd }
if(mm<10) { mm='0'+mm }
today = yyyy+'-'+mm+'-'+dd;
//=========================================
// https://programmer93.tistory.com/5
// 달력 부트스트랩 (달력으로 날짜 검색하기 CSS)
<?
require_once('../connection.php');
require_once('../library/json.php');
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<title>Bootstrap datepicket demo</title>
<script src="https://code.jquery.com/jquery-3.2.1.js"></script>
<link rel="stylesheet" href="/css/jquery-ui.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css"/>
<script src="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
<script type='text/javascript' src='//code.jquery.com/jquery-1.8.3.js'></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.5.0/css/bootstrap-datepicker3.min.css">
<script type='text/javascript' src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.5.0/js/bootstrap-datepicker.min.js"></script>
<script src="/js/bootstrap-datepicker.kr.js" charset="UTF-8"></script>
<script type='text/javascript'>
$(function(){
$('.input-group.date').datepicker({
calendarWeeks: false,
todayHighlight: true,
autoclose: true,
format: "yyyy-mm-dd",
language: "kr"
});
});
</script>
</head>
<body>
<div class="container" style="background: orange">
<h1>Bootstrap datepicker 날자 검색하기</h1>
<div style="float:left; margin-left:5px">
<div class="input-group date">
<input type="text" name="start_date" id="start_date" class="form-control" style="width:200px;"/>
<span class="input-group-addon" style="width:100px;"><i class="glyphicon glyphicon-calendar"></i></span>
</div>
</div>
<div style="float:left"> ~ </div>
<div style="float:left; margin-left:5px">
<div class="input-group date">
<input type="text" name="end_date" id="end_date" class="form-control" style="width:200px;"/>
<span class="input-group-addon" style="width:100px;"><i class="glyphicon glyphicon-calendar"></i></span>
</div>
</div>
</div><br>
<div align="center">
<button type="button" onclick="SearchBTN()" > 검색 </button>
</div>
</div>
</body>
</html>
<script>
(function($){
$.fn.datepicker.dates['kr'] = {
days: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일", "일요일"],
daysShort: ["일", "월", "화", "수", "목", "금", "토", "일"],
daysMin: ["일", "월", "화", "수", "목", "금", "토", "일"],
months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"],
monthsShort: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"]
};
}(jQuery));
</script>
■ TimePicker

<!-- %*타임픽커*% -->
<link href="../assets/clockpicker/clockpicker.css" rel="stylesheet" />
<script src="../assets/clockpicker/clockpicker.js"></script>
<table class="table table-bordered" id="tb">
<thead>
<tr style="background-color:#334252">
<th style="background-color:#f1f1f1" width="30"><input type="button" class='regist' value="+" onclick="TimePicker()"></th>
<th style="background-color:#f1f1f1" width="100">타임픽커</th>
</tr>
</thead>
<tbody></tbody>
</table>
<script>
function TimePicker(){
var tag = "";
var Timeflag = $("#InspectionTimeflag").val();
tag += "<tr>";
tag += "<td class='center'><i class='delBtn fa fa-minus-square fa-2x' aria-hidden='true' onclick='delTr2(this)'></i></td>";
tag += "<td>";
tag += "<div class='input-group clockpicker' data-placement='left' data-align='top' data-autoclose='true' id='inspection_start_"+Timeflag+"' style='width:110px;float:left'>";
tag += " <input type='text' name='start_time[]' class='form-control' value='<?=date('H:i')?>' readonly>";
tag += " <span class='input-group-addon'>";
tag += " <span class='glyphicon glyphicon-time'></span>";
tag += " </span>";
tag += "</div>";
tag += "<div style='width:20px;float:left;center;padding-left:8px'><strong>-</strong>";
tag += "</div>";
tag += "<div class='input-group clockpicker' data-placement='left' data-align='top' data-autoclose='true' id='inspection_end_"+Timeflag+"' style='width:110px;float:left'>";
tag += " <input type='text' name='end_time[]' class='form-control' value='<?=date('H:i')?>' readonly>";
tag += " <span class='input-group-addon'>";
tag += " <span class='glyphicon glyphicon-time'></span>";
tag += " </span>";
tag += "</div>";
tag+="</td>";
tag += "</tr>";
$("#tb tbody").append(tag);
$("#inspection_start_"+Timeflag).clockpicker({
placement: 'bottom', // 시계 바인딩 방향 top,bottom,right,left
//align: 'right', // 시계 위치 right,left
align: 'left',
autoclose: true, // 자동 닫기
//default: '09:00',
//donetext: ''
});
$("#inspection_end_"+Timeflag).clockpicker({
placement: 'bottom', // 시계 바인딩 방향 top,bottom,right,left
//align: 'right', // 시계 위치 right,left
align: 'left',
autoclose: true, // 자동 닫기
//default: '09:00',
//donetext: ''
});
$("#InspectionTimeflag").val( Number(Timeflag)+1 );
}
</script>
■ FullCalendar
참고자료 : https://dotheright.tistory.com/219
아래 파일은 잠겨있습니다 ( 비공개 )
■ 시간차이 구하기
//자바스크립트 날짜 차이 구하기
var nowDate = new Date("<?=$date?>");
var start_dt = new Date(start_dt);
var diffDay = ( start_dt.getTime() - nowDate.getTime() ) / (1000*60*60*24);
if(parseInt(diffDay) < 0) alert(diffDay);
//php 날짜 차이 구하기 https://88240.tistory.com/110
$s_date = '2008-10-25';
$e_date = '2008-11-02';
$term = intval((strtotime($e_date)-strtotime($s_date))/86400); //날짜 사이의 일수를 구한다.
echo $term;
for($i=1; $i<=$term; $i++)
{
echo date("Y-m-d", strtotime($s_date.'+'.$i.' day')); //두 날짜사이의 날짜를 구한다.
}
// timestamp로 시간차이 구하기.
$total_time = $time - $machine_work_time->start_tm; // 종료timeStamp - 시작timestamp
$days = floor($total_time/86400);
$time2 = $total_time - ($days*86400);
$hours = floor($time2/3600);
$time2 = $time2 - ($hours*3600);
$min = floor($time2/60);
$sec = $time2 - ($min*60);
echo $hours.":".$min.":".$sec;
■ 날자 더하기
<tr>
<th scope="col">발급일</th>
<td class="text-center">
<div class="form-row py-1">
<input type="date" id="cv_search_s_date" class="form-control form-control-sm w-auto" value="${startDate}">
<span class="mx-2">~</span>
<input type="date" id="cv_search_e_date" class="form-control form-control-sm w-auto" value="${endDate}">
<div class="col-sm-5 btn-group ml-2" role="group">
<button type="button" id="cv_now" class="btn btn-sm btn-outline-info cv_add_dt" tag="cv_now">오늘</button>
<button type="button" id="cv_week" class="btn btn-sm btn-outline-info cv_add_dt" tag="cv_week">일주일</button>
<button type="button" id="cv_month1" class="btn btn-sm btn-outline-info cv_add_dt active" tag="cv_month1">1개월</button>
<button type="button" id="cv_month3" class="btn btn-sm btn-outline-info cv_add_dt" tag="cv_month3">3개월</button>
<button type="button" id="cv_all" class="btn btn-sm btn-outline-info cv_add_dt" tag="cv_all">전체</button>
</div>
</div>
</td>
</tr>
$(document).ready(function() {
//main :: 등록일 click
$(".add_dt").click(function(){
$(".add_dt").removeClass('active');
var tag = $(this).attr("tag");
$("#"+ tag ).addClass('active');
var result = new Date();
switch( tag ){
case "cpn_week" :
result = addDate( result ,0 , 0, 7);
$("#search_e_date").val( result.getFullYear() + "-" + _len(result.getMonth()+1) + "-"+ _len(result.getDate()) );
break;
case "cpn_month1" :
result = addDate( result ,0 , 1, 0);
$("#search_e_date").val( result.getFullYear() + "-" + _len(result.getMonth()+1) + "-"+ _len(result.getDate()) );
break;
case "cpn_month3" :
result = addDate( result ,0 , 3, 0);
$("#search_e_date").val( result.getFullYear() + "-" + _len(result.getMonth()+1) + "-"+ _len(result.getDate()) );
break;
case "cpn_all" :
var temp_s_date = new Date( result.getFullYear() , 0 , 1);
result = new Date( result.getFullYear() , 11 , 31);
$("#search_s_date").val( temp_s_date.getFullYear() + "-" + _len(temp_s_date.getMonth()+1) + "-"+ _len(temp_s_date.getDate()) );
$("#search_e_date").val( result.getFullYear() + "-" + _len(result.getMonth()+1) + "-"+ _len(result.getDate()) );
break;
default :
$("#search_s_date").val( result.getFullYear() + "-" + _len(result.getMonth()+1) + "-"+ _len(result.getDate()) );
$("#search_e_date").val( result.getFullYear() + "-" + _len(result.getMonth()+1) + "-"+ _len(result.getDate()) );
break;
}
//console.log( result.getFullYear() + "-" + _len(result.getMonth()+1) + "-"+ _len(result.getDate()) );
});
});
// 날짜 10 아래 인 경우0 붙여주기
function _len(value){
return value.toString().length < 2 ? '0' + value : value;
}
// 오늘로 부터 년 월 일 더하기
function addDate(date, year , month , days) {
if( date instanceof Date && !isNaN(date) ){
var clone = new Date(date);
if(year > 0) clone.setFullYear(date.getFullYear() + year);
if(month > 0) clone.setMonth(date.getMonth() + month );
if(days > 0) clone.setDate(date.getDate() + days);
return clone;
}
}
728x90