javaScript時間と日付の比較
15126 ワード
考え方:2016-06-26 11:25と2016-08-26 11:50を比較すると、数字を比較して両者の大きさを比較したいです.つまり、20160626と20160826と比較して1125と1150を比較したところ、時間が同じであれば、特に比較しにくいです.まだ間違いがあります.(興味のある方は試してみてもいいです.)最後に日付の書式を引いて、new Dateのフォーマットに変えてから比較します.
<script type="text/javascript">
var fields= [ // id
"field33655", //fields[0]
"field33657", //fields[1]
"field33656", //fields[2]
"field33658" //fields[3]
];
// js
jQuery(document).ready(function(){
console.log(" !");
//
checkCustomize = function (){
return calculateDateFields();//true ,false
};
});
//
function calculateDateFields(){
var startDate=jQuery('#'+fields[0]).val();//
var arr=startDate.split("-");
var starttime = new Date(arr[0], arr[1], arr[2]);
var starttimes = starttime.getTime();
var endDate=jQuery('#'+fields[2]).val();//
var arrs=endDate.split("-");
var lktime = new Date(arrs[0], arrs[1], arrs[2]);
var lktimes = lktime.getTime();
var now= new Date();
var date=now.getFullYear()+"-"+((now.getMonth()+1)<10?"0":"")+(now.getMonth()+1)+"-"+(now.getDate() <10?"0":"")+now.getDate()
var arrss=date.split("-");
var nowtime= new Date(arrss[0], arrss[1], arrss[2]);
var nowtimes= nowtime.getTime();
if(starttimes >nowtimes&&lktimes>nowtimes){
if (starttimes >lktimes) {
alert(' , ');
jQuery('#'+fields[2]).val('');//
jQuery('#'+fields[2]+'span').text('');//
return false;
}
else if(starttimes ==lktimes){
if(calculateTimeFields()){
return true;
}
else{
jQuery('#'+fields[3]).val('');//
jQuery('#'+fields[3]+'span').text('');//
return false;
}
}
else{
if(calculateTimeFields()){
return true;
}else{
alert(" ");
jQuery('#'+fields[3]).val('');//
jQuery('#'+fields[3]+'span').text('');//
return false;
}
}
}else if(lktimes>nowtimes&&starttimes<=nowtimes){
alert(" , ");
}else if(lktimes<=nowtimes&&starttimes>nowtimes){
alert(" , ");
}
else{
alert(" , ");
}
}
//
function calculateTimeFields(){
console.log(" 2");
var checkresult= [0,0];
var beginTime = jQuery('#'+fields[0]).val()+ jQuery('#'+fields[1]).val();
var endTime= jQuery('#'+fields[2]).val()+ jQuery('#'+fields[3]).val();
var beginTimes=beginTime .substring(0,10).split('-');
var endTimes = endTime.substring(0, 10).split('-');
beginTime = beginTimes[1] + '-' + beginTimes[2] + '-' + beginTimes[0] + ' ' + beginTime.substring(10, 19);
endTime = endTimes[1] + '-' + endTimes[2] + '-' + endTimes[0] + ' ' + endTime.substring(10, 19);
var a = (Date.parse(endTime) - Date.parse(beginTime)) / 3600 / 1000;
if (a < 0) {
alert(" ");
return false;
} else if (a > 0) {
return true;
} else if (a == 0) {
alert(" !");
return false;
} else {
return 'exception'
}
}
script>
詳細は参照できますjs (yyyy-mm-dd)
function duibi(a, b) {
var arr = a.split("-");
var starttime = new Date(arr[0], arr[1], arr[2]);
var starttimes = starttime.getTime();
var arrs = b.split("-");
var lktime = new Date(arrs[0], arrs[1], arrs[2]);
var lktimes = lktime.getTime();
if (starttimes >= lktimes) {
alert(' , ');
return false;
}
else
return true;
}
js (yyyy-mm-dd hh:mi:ss)
function comptime() {
var beginTime = "2009-09-21 00:00:00";
var endTime = "2009-09-21 00:00:01";
var beginTimes = beginTime.substring(0, 10).split('-');
var endTimes = endTime.substring(0, 10).split('-');
beginTime = beginTimes[1] + '-' + beginTimes[2] + '-' + beginTimes[0] + ' ' + beginTime.substring(10, 19);
endTime = endTimes[1] + '-' + endTimes[2] + '-' + endTimes[0] + ' ' + endTime.substring(10, 19);
alert(beginTime + "aaa" + endTime);
alert(Date.parse(endTime));
alert(Date.parse(beginTime));
var a = (Date.parse(endTime) - Date.parse(beginTime)) / 3600 / 1000;
if (a < 0) {
alert("endTime !");
} else if (a > 0) {
alert("endTime !");
} else if (a == 0) {
alert(" !");
} else {
return 'exception'
}
}