¿Es posible verificar si una fecha de finalización es mayor o igual a una fecha de inicio en Javascript? Mis fechas son cadenas en el formato 'dd/mm/aaaa'.javascript check fecha de finalización es mayor o igual a la fecha de inicio
Respuesta
probar esto
var startDate = "05/01/2011";
var endDate = "09/01/2011";
var regExp = /(\d{1,2})\/(\d{1,2})\/(\d{2,4})/;
if(parseInt(endDate.replace(regExp, "$3$2$1")) > parseInt(startDate.replace(regExp, "$3$2$1"))){
alert("greater");
}
cheque a cabo esta función
function CompareDates()
{
var str1 = document.getElementById("Fromdate").value;
var str2 = document.getElementById("Todate").value;
var dt1 = parseInt(str1.substring(0,2),10);
var mon1 = parseInt(str1.substring(3,5),10);
var yr1 = parseInt(str1.substring(6,10),10);
var dt2 = parseInt(str2.substring(0,2),10);
var mon2 = parseInt(str2.substring(3,5),10);
var yr2 = parseInt(str2.substring(6,10),10);
var date1 = new Date(yr1, mon1, dt1);
var date2 = new Date(yr2, mon2, dt2);
if(date2 < date1)
{
alert("To date cannot be greater than from date");
return false;
}
else
{
alert("Submitting ...");
document.form1.submit();
}
}
Si el formato de cadena ('dd/mm/aaaa') no cambia, esta función debería funcionar:
function endAfterStart(start,end){
return new Date(start.split('/').reverse().join('/')) <
new Date(end.split('/').reverse().join('/'));
}
alert(endAfterStart('05/01/2011','09/01/2011')); //=> true
O extienda el Date.prototype
:
Date.prototype.isBefore = Date.prototype.isBefore || function(dat){
return this < dat;
}
new Date('05/01/2011'.split('/').reverse().join('/'))
.before(new Date('09/01/2011'.split('/').reverse().join('/'))); //=>true
+1 para objetos de fecha –
Me llevó algo de tiempo encontrarlo, pero JQuery implementa esta funcionalidad exacta con DatePicker
date-range
. (Código fuente disponible en el enlace también.)
Moment.js también maneja muy bien las comparaciones de fechas usando la función diff.
Prueba de esto,
function isDateCompare(){
var leadDate = document.getElementById('strDate').value;
var closeDate = document.getElementById('strDateClosed').value;
var date1 = new Date();
date1.setFullYear(leadDate.substr(6,4),(leadDate.substr(3,2)-1),leadDate.substr(0,2));
var date2 = new Date();
date2.setFullYear(closeDate.substr(6,4),(closeDate.substr(3,2)-1),closeDate.substr(0,2));
if (date1> date2)
{
alert("Expected Closed date cannot be less than Lead date.");
return false;
}
else
{
alert("true");
return false;
}
}
function isDate(value)
{
var fromDate = document.getElementById("fromDate").value
var toDate= document.getElementById("toDate").value
//var curr_Date= new SimpleDateFormat("dd/mm/yyyy");
var dateRegEx = null;
dateRegEx = new RegExp(/^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/g);
if (dateRegEx.test(fromDate)){
}
else{
alert("Invalid from date");
return false;
}
dateRegEx = new RegExp(/^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$/g);
if(dateRegEx.test(toDate)) {
}
else{
alert("Invalid to date");
return false;
}
var stDate = new Date(fromDate);
var enDate = new Date(toDate);
var compDate = enDate - stDate;
//var fdate=enDate-curr_Date;
if(compDate >= 0)
return true;
else
{
alert("To Date cannot be smaller than From Date");
return false;
}
/**/
}
Esto funcionará para años bisiestos also..in formato aaaa (no cualquier otro formato) dd/mm /.
primer lugar el uso de esta función se convierte una cadena de tipo Fecha en JS:
function common_getDateFromUI(str) {
var arr = str.split("/");
var returnDate = new Date(arr[2], arr[1] - 1, arr[0], 0, 0, 0, 0);
return returnDate;
}
Segundo: después de obtener el tipo de fecha javascript, sólo compara tipo normal como fecha1> fecha2 o fecha1 == fecha2 .
O utilizar esta función para obtener la fecha diferencia entre la fecha:
function CalendarDays(startDate, endDate) {
if (endDate < startDate)
return 0;
// Calculate days between dates
var millisecondsPerDay = 86400 * 1000; // Day in milliseconds
startDate.setHours(0, 0, 0, 1); // Start just after midnight
endDate.setHours(23, 59, 59, 999); // End just before midnight
var diff = endDate - startDate; // Milliseconds between datetime objects
var days = Math.round(diff/millisecondsPerDay);
return days;
}
Siga este enlace es una demostración sencilla de obtener días de diferencia entre las fechas. Link demo here
if (iForm.DiddfromDate.value == "")
{
alert(" Please enter a value");
iForm.DiddfromDate.focus();
return false;
}
if (iForm.DiddtoDate.value == "")
{
alert(" Please enter a value");
iForm.DiddtoDate.focus();
return false;
}
try {
var d1 = iForm.DiddfromDate.value.substr(0, 2);
var m1 = iForm.DiddfromDate.value.substr(3, 2);
var y1 = iForm.DiddfromDate.value.substr(6, 4);
var StrDate = m1 + "/" + d1 + "/" + y1;
var d2 = iForm.DiddtoDate.value.substr(0, 2);
var m2 = iForm.DiddtoDate.value.substr(3, 2);
var y2 = iForm.DiddtoDate.value.substr(6, 4);
var EndDate = m2 + "/" + d2 + "/" + y2;
var startDate = new Date(StrDate);
var endDate = new Date(EndDate);
if (startDate > endDate) {
alert('To date should be greater than From date.');
iForm.DiddfromDate.value = '';
iForm.DiddtoDate.value = '';
iForm.DiddfromDate.focus();
return false;
}
} catch (e) { alert(e.Description); }
return true;
La manera más simple de hacer esto.
function endAfterStart(start, end) {
var startDate = new Date(start);
var endDate = new Date(end);
return endDate.getTime() >= startDate.getTime();
}
Sólo convertir la cadena hasta la fecha y el uso getTime
método del objeto Date para compararlo.
código Ejemplo
var startDate = '04/04/2015'; //date in dd/mm/yyyy format
var endDate = '05/04/2015';
function compareDates(sDate, eDate) {
var dateTime1 = new Date(sDate).getTime(),
dateTime2 = new Date(eDate).getTime();
var diff = dateTime2 - dateTime1;
if (diff > 0) {
alert("endDate is greater than startDate");
return true;
}
}
compareDates(startDate, endDate);
- 1. fecha igual o mayor que el de hoy en MySQL
- 2. JavaScript Fecha Comparaciones No es igual
- 3. ¿Cómo verificar si la fecha de entrada es igual a la fecha de hoy?
- 4. Fecha de inicio y finalización de un mes actual
- 5. rieles, donde la fecha es mayor que dada la fecha de consulta
- 6. MySQL ¿Dónde la fecha es mayor a un mes?
- 7. Comparación de fechas de rieles; fecha mayor o igual que hace días
- 8. C# consiguen fecha de inicio y la última fecha de base a la fecha actual
- 9. En una base de datos, ¿es mejor almacenar un período de tiempo como una fecha de inicio/finalización, o una fecha de inicio y un período de tiempo?
- 10. Resta de fecha en JavaScript
- 11. Loop desde la fecha de inicio hasta la fecha de finalización en el script de shell de Mac OS X
- 12. Convertir la fecha de Javascript a ASP.NET Formato de fecha
- 13. Convierta una fecha mySQL a la fecha de Javascript
- 14. PHP cadena fecha + 1 día es igual?
- 15. paypal crear perfil recurrente mostrando la siguiente fecha de pago igual que la fecha de inicio del perfil
- 16. Double.Epsilon por la igualdad, mayor que, menor que, menor que o igual a, mayor que o igual a
- 17. jquery/javascript convertir fecha cadena a fecha
- 18. Uso "mayor o igual" o simplemente "mayor que"
- 19. DateTime a javascript fecha
- 20. MySQL Seleccionar fecha igual a hoy
- 21. Fecha de Javascript: ¿configura solo la fecha, ignorando el tiempo?
- 22. Calcular la fecha de inicio y finalización de la semana anterior
- 23. Obtenga la fecha de inicio y la fecha de finalización de la semana actual (inicio de la semana del lunes y finaliza el domingo)
- 24. Fecha JSON a la fecha de Java?
- 25. Obteniendo el inicio y la fecha de finalización de la semana? En el servidor Sql?
- 26. Convertir Fecha de época a una fecha de Javascript significativa
- 27. Convertir la fecha de Python a Javascript
- 28. Consultar documentos CouchDB entre una fecha de inicio y una fecha final
- 29. convertir la fecha aaaammdd a yyJJJ o Julian Fecha
- 30. Determinación de la igualdad de fecha en Javascript
Usted debe analizar las fechas como JavaScript objetos Date y comparar la getTime() - valores. – Alxandr
Este es el tipo de cosas que es muy fácil de buscar en Google, hay millones de respuestas. Como dice el cartel anterior, use el objeto Date. –