Palyginkite dvi datas su javascript

Ar kas nors gali pasiūlyti būdą lyginti dviejų datų vertes, mažiau ir ne anksčiau, naudojant „JavaScript“? Vertės bus gautos iš teksto laukų.

1531
29 янв. Alexas yra sausio 29 d 2009-01-29 22:14 '09 10:14 val. 2009-01-29 22:14
@ 35 atsakymai
  • 1
  • 2

Datos objektas atliks tai, ko norite - sukurkite kiekvieną datą ir palyginkite juos su > , < , <= arba >= .

Operatoriai == date.getTime() != , === ir !== reikalauja naudoti date.getTime() , kaip ir

 var d1 = new Date(); var d2 = new Date(d1); var same = d1.getTime() === d2.getTime(); var notSame = d1.getTime() !== d2.getTime(); 

aišku, tiesioginis lygiateisiškumo tikrinimas tiesiogiai su duomenų objektais neveiks

 var d1 = new Date(); var d2 = new Date(d1); console.log(d1 == d2); // prints false (wrong!) console.log(d1 === d2); // prints false (wrong!) console.log(d1 != d2); // prints true (wrong!) console.log(d1 !== d2); // prints true (wrong!) console.log(d1.getTime() === d2.getTime()); // prints true (correct) 

Tačiau siūlome naudoti išskleidžiamuosius sąrašus arba panašią ribotą datos įrašo formą, o ne teksto laukus, kad negalėtumėte patekti į įvestį.

1729 m
29 янв. Atsakymas pateikiamas mėnulio šešėlis 29 sausis 2009-01-29 22:20 '09 at 10:20 AM 2009-01-29 22:20

Paprasčiausias būdas palyginti datas „javascript“ yra tai, kad pirmiausia konvertuokite jį į „Data“ objektą ir palyginkite šiuos datos objektus.

Žemiau rasite objektą su trimis funkcijomis:

  • date.compare (a, b)

    Grąžina numerį:

    • -1, jei a <b
    • 0, jei a = b
    • 1 jei a> b
    • NaN, jei a arba b yra neteisėta data
  • date.inRange (d, pradžia, pabaiga)

    Grąžina loginę vertę arba NaN:

    • tiesa, jei d yra tarp pradžios ir pabaigos (imtinai)
    • neteisingas, jei d prieš užbaigimą arba po jo.
    • NaN, jei viena ar kelios datos yra neteisėtos.
  • datas.convert

    Naudojamos kitomis funkcijomis, kad jų įvestis būtų konvertuojama į datos objektą. Prisijungimas gali būti

    • datos objektas: įvestis grąžinama kaip yra.
    • masyvas . Vertinama kaip [metai, mėnuo, diena]. PASTABA mėnuo yra 0-11.
    • numeris . Aiškinamas kaip milisekundžių skaičius nuo 1970 m. Sausio 1 d.
    • eilutė : palaikomi keli skirtingi formatai, pavyzdžiui, "YYYY / MM / DD", "MM / DD / YYYY", "2009 m. sausio 31 d." ir kt.
    • objektas . Aiškinamas kaip objektas su metų, mėnesio ir datos atributais. PASTABA mėnuo yra 0-11.
border=0

.

 // Source: http://stackoverflow.com/questions/497790 var dates = { convert:function(d) { // Converts the date in d to a date-object. The input can be: // a date object: returned without modification // an array : Interpreted as [year,month,day]. NOTE: month is 0-11. // a number : Interpreted as number of milliseconds // since 1 Jan 1970 (a timestamp) // a string : Any format supported by the javascript engine, like // "YYYY/MM/DD", "MM/DD/YYYY", "Jan 31 2009" etc. // an object : Interpreted as an object with year, month and date // attributes. **NOTE** month is 0-11. return ( d.constructor === Date ? d : d.constructor === Array ? new Date(d[0],d[1],d[2]) : d.constructor === Number ? new Date(d) : d.constructor === String ? new Date(d) : typeof d === "object" ? new Date(d.year,d.month,d.date) : NaN ); }, compare:function(a,b) { // Compare two dates (could be of any type supported by the convert // function above) and returns: // -1 : if a < b // 0 : if a = b // 1 : if a > b // NaN : if a or b is an illegal date // NOTE: The code inside isFinite does an assignment (=). return ( isFinite(a=this.convert(a).valueOf())  isFinite(b=this.convert(b).valueOf()) ? (a>b)-(a<b) : NaN ); }, inRange:function(d,start,end) { // Checks if date in d is between dates in start and end. // Returns a boolean or NaN: // true : if d is between start and end (inclusive) // false : if d is before start or after end // NaN : if one or more of the dates is illegal. // NOTE: The code inside isFinite does an assignment (=). return ( isFinite(d=this.convert(d).valueOf())  isFinite(start=this.convert(start).valueOf())  isFinite(end=this.convert(end).valueOf()) ? start <= d  d <= end : NaN ); } } 
385
31 янв. Atsakymas pateikiamas maždaug sausio 31 d. 2009-01-31 03:18 '09, 3:18, 2009-01-31 03:18

Palyginkite < ir > kaip įprasta, bet viskas, kas susieta su = turėtų naudoti priešdėlį + . Pavyzdžiui:

 var x = new Date('2013-05-23'); var y = new Date('2013-05-23'); // less than, greater than is fine: x < y; => false x > y; => false x === y; => false, oops! // anything involving '=' should use the '+' prefix // it will then compare the dates' millisecond values +x <= +y; => true +x >= +y; => true +x === +y; => true 

Tikiuosi, kad tai padės!

237
23 мая '13 в 15:21 2013-05-23 15:21 Daniel Lidström atsakymas gegužės 23 d. 13 val. 15:21 2013-05-23 15:21

Reliaciniai operatoriai < <= > >= gali būti naudojami „JavaScript“ datoms palyginti:

 var d1 = new Date(2013, 0, 1); var d2 = new Date(2013, 0, 2); d1 < d2; // true d1 <= d2; // true d1 > d2; // false d1 >= d2; // false 

Tačiau lygybės operatoriai == != === !== negali būti naudojami datoms palyginti, nes :

  • Griežti ar abstrakčiai lyginami du skirtingi objektai.
  • Eksperimentas, lyginantis objektus, yra teisingas tik tada, kai operandai nurodo tą patį objektą.

Lygybės datų vertę galite palyginti bet kuriuo iš šių būdų:

 var d1 = new Date(2013, 0, 1); var d2 = new Date(2013, 0, 1);  d1.getTime() == d2.getTime(); // true d1.valueOf() == d2.valueOf(); // true Number(d1) == Number(d2); // true +d1 == +d2; // true 

Ir Date.valueOf() Date.getTime() ir Date.valueOf() grąžina milisekundžių skaičių nuo 1970 m. Sausio 1 d., 00:00 UTC. Tiek „ Number tiek „ valueOf() operatorius + skambina „ valueOf() metodais užkulisiuose.

133
31 янв. Atsakymą pateikė Salman A sausio 31 d. 2013-01-31 19:04 '13, 19:04, 2013-01-31 19:04

Žinoma, paprasčiausias būdas yra atimti vieną datą iš kitos ir palyginti rezultatą.

66
01 нояб. atsakymą pateikė Peter Wilkinson 01 lapkričio. 2011-11-01 03:48 '11 at 3:48 2011-11-01 03:48

Lyginant datas „JavaScript“ yra gana paprasta ... „JavaScript“ turi įmontuotą datų palyginimo sistemą, kuri leidžia lengvai palyginti.

Tiesiog atlikite šiuos veiksmus, kad palygintumėte dvi datos reikšmes, pvz., Turite 2 įvestį, kurių kiekviena turi Data reikšmę String ir galite juos palyginti.

1. Turite 2 eilutės reikšmes, kurias gaunate iš įvesties, ir jūs norite juos palyginti, jie yra išvardyti toliau:

 var date1 = '01/12/2018'; var date2 = '12/12/2018'; 

2. Jie turi būti Date Object , kurie bus lyginami kaip datos vertės, todėl tiesiog konvertuokite juos į datą, naudodami new Date() , tiesiog perkeliu juos į paprastą paaiškinimą, tačiau tai galite padaryti bet kuriuo atveju:

 date1 = new Date(date1); date2 = new Date(date2); 

3. Dabar tiesiog palyginkite juos naudodami > < >= <=

 date1 > date2; //false date1 < date2; //true date1 >= date2; //false date1 <= date2; //true 

2019

11 июля '17 в 12:59 2017-07-11 12:59 Atsakymą Alireza pateikė liepos 17 d. 17 val. 12:59 2017-07-11 12:59

Palyginkite tik dieną (išskyrus laiko komponentą):

 Date.prototype.sameDay = function(d) { return this.getFullYear() === d.getFullYear()  this.getDate() === d.getDate()  this.getMonth() === d.getMonth(); } 

Naudoti:

 if(date1.sameDay(date2)) { // highlight day on calendar or something else clever } 
32
27 сент. atsakymas pateikiamas 27 sep . 2013-09-27 18:38 '13, 18:38, 2013-09-27 18:38

kokiu formatu?

Jei sukuriate „Javascript Date“ objektą , galite tiesiog atimti juos, kad gautumėte skirtumą milisekundėmis (redaguokite arba tiesiog palyginkite):

 js>t1 = new Date() Thu Jan 29 2009 14:19:28 GMT-0500 (Eastern Standard Time) js>t2 = new Date() Thu Jan 29 2009 14:19:31 GMT-0500 (Eastern Standard Time) js>t2-t1 2672 js>t3 = new Date('2009 Jan 1') Thu Jan 01 2009 00:00:00 GMT-0500 (Eastern Standard Time) js>t1-t3 2470768442 js>t1>t3 true 
26
29 янв. Atsakymas Jason S 29 d 2009-01-29 22:19 '09 at 10:19 AM 2009-01-29 22:19

TRUMPAS ATSAKYMAS

Čia yra funkcija, kuri grąžina {boolean}, jei nuo datosTime> į dataTime Demo veikiant

 var from = '08/19/2013 00:00' var to = '08/12/2013 00:00 ' function isFromBiggerThanTo(dtmfrom, dtmto){ return new Date(dtmfrom).getTime() >= new Date(dtmto).getTime() ; } console.log(isFromBiggerThanTo(from, to)); //true 

paaiškinimas

jsFiddle

 var date_one = '2013-07-29 01:50:00', date_two = '2013-07-29 02:50:00'; //getTime() returns the number of milliseconds since 01.01.1970. var timeStamp_date_one = new Date(date_one).getTime() ; //1375077000000 console.log(typeof timeStamp_date_one);//number var timeStamp_date_two = new Date(date_two).getTime() ;//1375080600000 console.log(typeof timeStamp_date_two);//number 

kadangi jūs jau turite abu datetime numerį, galite juos palyginti su bet kokia lyginimo operacija

(>, <, = ,! =, ==,! ==,> = IR <=)

tada

jei esate susipažinę su „ C# Custom Date and Time Format String“, ši biblioteka turėtų daryti tą patį ir padėti formuoti dtmFRM datą ir laiką, neatsižvelgiant į tai, ar einate į datos laiko eilutę, ar į Unix formatą

Taikymas

 var myDateTime = new dtmFRM(); alert(myDateTime.ToString(1375077000000, "MM/dd/yyyy hh:mm:ss ampm")); //07/29/2013 01:50:00 AM alert(myDateTime.ToString(1375077000000,"the year is yyyy and the day is dddd")); //this year is 2013 and the day is Monday alert(myDateTime.ToString('1/21/2014', "this month is MMMM and the day is dd")); //this month is january and the day is 21 

Demo

viskas, ką jums reikia padaryti, yra perduoti bet kurį iš šių formatų, raminamą bibliotekos js faile

14
03 авг. atsakė Mina Gabriel 03 rugpjūtis 2013-08-03 00:06 '13 - 0:06 2013-08-03 00:06

jūs naudojate šį kodą

 var firstValue = "2012-05-12".split('-'); var secondValue = "2014-07-12".split('-'); var firstDate=new Date(); firstDate.setFullYear(firstValue[0],(firstValue[1] - 1 ),firstValue[2]); var secondDate=new Date(); secondDate.setFullYear(secondValue[0],(secondValue[1] - 1 ),secondValue[2]); if (firstDate > secondDate) { alert("First Date is greater than Second Date"); } else { alert("Second Date is greater than First Date"); } 

Taip pat patikrinkite šią nuorodą http://www.w3schools.com/js/js_obj_date.asp

14
09 авг. atsakymas duotas stay_hungry 09 rug . 2012-08-09 13:49 '12 13:49 2012-08-09 13:49
 function datesEqual(a, b) { return (!(a>b || b>a)) } 
13
20 июля '09 в 6:36 2009-07-20 06:36 atsakymas duodamas dangui liepos 20 d. 09: 06:36 2009-07-20 06:36
 var date = new Date(); // will give you todays date. // following calls, will let you set new dates. setDate() setFullYear() setHours() setMilliseconds() setMinutes() setMonth() setSeconds() setTime() var yesterday = new Date(); yesterday.setDate(...date info here); if(date>yesterday) // will compare dates 
12
29 янв. atsakymą pateikė Paul Woolcock 29 sausis 2009-01-29 22:17 '09, 10:17 val. 2009-01-29 22:17

Jei norite pridėti dar vieną funkciją daugeliui esamų parinkčių, galite pabandyti:

 if ((date1?date1.valueOf():0)==(date2?date2.valueOf():0) ..... 

Taigi, galime garantuoti, kad bus atliktas teigiamas palyginimas, jei abi jos taip pat yra neapibrėžtos arba ...

11
26 марта '14 в 18:41 2014-03-26 18:41 atsakymą pateikė Paulius kovo 26 d. 14 d. 18:41 2014-03-26 18:41

Pastaba - palyginkite tik datą:

Palyginus dvi „JavaScript“ datas. Tai taip pat trunka kelias valandas, minutes ir sekundes. Taigi, jei mums reikia palyginti datą, tai yra požiūris:

 var date1= new Date("01/01/2014").setHours(0,0,0,0); var date2= new Date("01/01/2014").setHours(0,0,0,0); 

Dabar: if date1.valueOf()> date2.valueOf() veiks kaip žavesys.

10
14 марта '17 в 20:10 2017-03-14 20:10 atsakymas duotas Sanjeev Singh kovo 14 d. 17 d. 20:10 2017-03-14 20:10

Via Moment.js

Jsfiddle: http://jsfiddle.net/guhokemk/1/

 function compare(dateTimeA, dateTimeB) { var momentA = moment(dateTimeA,"DD/MM/YYYY"); var momentB = moment(dateTimeB,"DD/MM/YYYY"); if (momentA > momentB) return 1; else if (momentA < momentB) return -1; else return 0; } alert(compare("11/07/2015", "10/07/2015")); 

Metodas grąžina 1, jei dateTimeA didesnis nei dateTimeB

Metodas grąžina 0, jei dateTimeA yra dateTimeB

Metodas grąžina -1, jei dateTimeA mažesnis nei dateTimeB

9
05 июля '16 в 8:53 2016-07-05 08:53 atsakymą įteikė Razan Paul 05-07-16 08:53 2016-07-05 08:53

Jei norite palyginti dvi datas, galime naudoti „date.js javascript“ biblioteką, kurią galite rasti šiuo adresu: https://code.google.com/archive/p/datejs/downloads

ir naudokite Date.compare( Date date1, Date date2 ) ir grąžina numerį , kuris reiškia šį rezultatą:

-1 = data1 yra data2.

0 = vertės yra lygios.

1 = data1 yra didesnis už datą2.

8
31 авг. atsakymą pateikė Salahin Rocky rugpjūčio 31 d. 2016-08-31 20:00 „16“ 20:00 val. 2016-08-31 20:00

Pasakykite, kad turite datos objektų A ir B, gaukite EPOC laiko reikšmę ir atimkite jį, kad gautumėte skirtumą milisekundėmis.

 var diff = +A - +B; 

Kas yra viskas.

7
23 июля '11 в 6:03 2011-07-23 06:03 atsakymas pateikiamas liepos 23 d., 11 d., 06:03, 2011-07-23 06:03

Norėdami sukurti datas iš laisvo teksto „Javascript“, turite ją analizuoti datos objekte ().

Galite naudoti „Date.parse“ (), kuris priima nemokamą tekstą, bandydamas jį konvertuoti į naują datą, tačiau, jei valdote puslapį, rekomenduoju naudoti HTML pasirinkimo lauką arba pasirinkti datą, pvz., „ YUI“ kalendoriaus valdymą arba jQuery UI duomenų rinkiklis .

Įvedę datą, kurią nurodė kiti žmonės, galite naudoti paprastą aritmetiką, jei norite atimti datas, ir juos paversti keliomis dienomis, dalijant skaičių (sekundėmis) per sekundžių skaičių per dieną (60 * 60 * 24 = 86400).

7
29 янв. atsakymas pateikiamas sh1mmer Jan 29 2009-01-29 22:35 '09, 10:35 AM 2009-01-29 22:35

Atimkite dvi datas, gaukite skirtumą milisekundėmis, jei tą pačią dieną gausite 0

 function areSameDate(d1, d2){ return d1 - d2 === 0 } 
7
15 нояб. Atsakymas pateikiamas Yukulélé lapkričio 15 d. 2012-11-15 12:54 '12 12:54 2012-11-15 12:54
 var date_today=new Date(); var formated_date = formatDate(date_today);//Calling formatDate Function var input_date="2015/04/22 11:12 AM"; var currentDateTime = new Date(Date.parse(formated_date)); var inputDateTime = new Date(Date.parse(input_date)); if (inputDateTime <= currentDateTime){ //Do something... } function formatDate(date) { var hours = date.getHours(); var minutes = date.getMinutes(); var ampm = hours >= 12 ? 'PM' : 'AM'; hours = hours % 12; hours = hours ? hours : 12; // the hour '0' should be '12' hours = hours < 10 ? '0'+hours : hours ; minutes = minutes < 10 ? '0'+minutes : minutes; var strTime = hours+":"+minutes+ ' ' + ampm; return date.getFullYear()+ "/" + ((date.getMonth()+1) < 10 ? "0"+(date.getMonth()+1) : (date.getMonth()+1) ) + "/" + (date.getDate() < 10 ? "0"+date.getDate() : date.getDate()) + " " + strTime; } 
6
06 мая '15 в 14:25 2015-05-06 14:25 atsakymas į vickisys gegužės 06 d. 15, 14:25 2015-05-06 14:25

ĮSPĖJIMO LAIKAS

„JavaScript“ datos nėra laiko juostos koncepcijos. Tai laiko momentas (erkių erkės) su patogiomis funkcijomis versti į ir iš linijų „vietinėje“ laiko juostoje. Jei norite dirbti su datomis, naudodami datos objektus, kaip ir visi , norėtumėte, kad jūsų datos būtų UTC pusiaukelės nurodytos datos pradžioje. Tai yra bendras ir būtinas susitarimas, leidžiantis dirbti su datomis, nepaisant jų kūrimo sezono ar laiko juostos. Todėl turite būti labai budrūs, kad valdytumėte laiko juostos sąvoką, ypač kai sukuriate savo vidurnakčio UTC datos objektą.

Daugeliu atvejų norite, kad jūsų data atspindėtų naudotojo laiko juostą. Spustelėkite, jei šiandien yra gimtadienis . Naujosios Zelandijos ir JAV vartotojai tuo pačiu metu spustelėja ir gauna skirtingas datas. Tokiu atveju tai atlikite ...

 // create a date (utc midnight) reflecting the value of myDate and the environment timezone offset. new Date(Date.UTC(myDate.getFullYear(),myDate.getMonth(), myDate.getDate())); 

Kartais tarptautinis palyginamumas viršija vietinį tikslumą. Tokiu atveju tai atlikite ...

 // the date in London of a moment in time. Device timezone is ignored. new Date(Date.UTC(myDate.getUTCYear(), myDate.getyUTCMonth(), myDate.getUTCDate())); 

Dabar galite tiesiogiai palyginti savo datos objektus, kaip siūlo kiti atsakymai.

Kai kuriate ją kurdami laiko juostą, taip pat turite būti tikri, kad išeisite iš laiko juostos, kai grįžtate į eilutės vaizdą. Taigi galite saugiai naudotis ...

  • toISOString()
  • getUTCxxx()
  • getTime() //returns a number with no time or timezone.
  • .toLocaleDateString("fr",{timezone:"UTC"}) // whatever locale you want, but ALWAYS UTC.

Ir visiškai vengti visko, ypač ...

  • getMonth() , getDate() , getDate()
6
20 окт. Atsakymas duotas bbsimonbb 20 oct. 2017-10-20 12:51 '17 at 12:51 2017-10-20 12:51

Pagerinta kodo versija, kurią paskelbė „some“

  Date.prototype.compare = function(b) { if (b.constructor !== Date) { throw "invalid_date"; } return (isFinite(this.valueOf())  isFinite(b.valueOf()) ? (this>b)-(this<b) : NaN ); }; 

naudoti:

  var a = new Date(2011, 1-1, 1); var b = new Date(2011, 1-1, 1); var c = new Date(2011, 1-1, 31); var d = new Date(2011, 1-1, 31); assertEquals( 0, a.compare(b)); assertEquals( 0, b.compare(a)); assertEquals(-1, a.compare(c)); assertEquals( 1, c.compare(a)); 
5
20 авг. Rodrigo Pinho Pereira de Souza atsakymas rugpjūčio 20 d. 2011-08-20 07:02 '11 at 7:02 2011-08-20 07:02

Paprastai Dates laikomos duomenų bazėse kaip timestamps(Number) .

Kai man reikia palyginti, tiesiog palyginu tuos laiko žymų ar

konvertuokite jį į Datos objektą ir palyginkite su > < jei reikia.

Atkreipkite dėmesį, kad == arba === neveikia tinkamai, jei jūsų kintamieji nėra tos pačios datos objekto nuorodos.

Pirmiausia konvertuokite šiuos Datos objektus į laiko žymą (skaičių) ir palyginkite jų lygybę.


Data pagal laiko žymą

 var timestamp_1970 = new Date(0).getTime(); // 1970-01-01 00:00:00 var timestamp = new Date().getTime(); // Current Timestamp 

Laiko žyma

 var timestamp = 0; // 1970-01-01 00:00:00 var DateObject = new Date(timestamp); 
4
22 авг. Atsakymas pateikiamas InspiredJW 22 rugpjūčio mėn. 2012-08-22 04:40 '12 4:40 2012-08-22 04:40

Jei sekantis datos formatas, galite naudoti šį kodą:

 var first = '2012-11-21'; var second = '2012-11-03'; if(parseInt(first.replace(/-/g,""),10) > parseInt(second.replace(/-/g,""),10)){ //... } 

Ji patikrins, ar numeris 20121121 didesnis nei 20121103 .

4
23 июня '12 в 17:08 2012-06-23 17:08 atsakymas suteiktas birželio 23 d., 12 val ., 12:08 val. 2012-06-23 17:08

Prieš lyginant Dates objektą, pabandykite nustatyti abu milisekundes į nulį, pvz., Date.setMilliseconds(0); .

Kai kuriais atvejais, kai Date objektas yra dinamiškai sukurtas javascript'e, jei ir toliau įvesite Date.getTime() , matysite milisekundžių pokytį, kuris neleidžia abiejų datų lygybei.

2
24 окт. Júlio Paulillo atsakymas spalio 24 d 2013-10-24 20:34 '13, 20:34, 2013-10-24 20:34

Kitas būdas palyginti dvi datas yra „ toISOString() . Tai ypač naudinga lyginant su fiksuota data, išsaugota eilėje, nes galite sukurti trumpalaikį objektą. Dėl ISO 8601 formato šiuos styginius galite palyginti leksikografiškai (bent jau tada, kai naudojate tą pačią laiko juostą).

Aš nebūtinai sakau, kad tai geriau nei naudojant laikinus objektus ar laiko žymes; tik pasiūlyti ją kaip kitą variantą. Gali atsirasti kraštų, kai tai gali nepavykti, bet aš jų dar nesuklupau :)

1
09 нояб. atsakymas duotas „ yoniLavi“ 09 lapkričio. 2016-11-09 21:22 '16 at 21:22 pm 2016-11-09 21:22

Tarkime, kad susiduriate su šiuo 2014[:-/.]06[:-/.]06 Formato formatu 2014[:-/.]06[:-/.]06 arba 06[:-/.]06[:-/.]2014 tada galite palyginti tokias datas

 var a = '2014.06/07', b = '2014-06.07', c = '07-06/2014', d = '07/06.2014'; parseInt(a.replace(/[:\s\/\.-]/g, '')) == parseInt(b.replace(/[:\s\/\.-]/g, '')); // true parseInt(c.replace(/[:\s\/\.-]/g, '')) == parseInt(d.replace(/[:\s\/\.-]/g, '')); // true parseInt(a.replace(/[:\s\/\.-]/g, '')) < parseInt(b.replace(/[:\s\/\.-]/g, '')); // false parseInt(c.replace(/[:\s\/\.-]/g, '')) > parseInt(d.replace(/[:\s\/\.-]/g, '')); // false 

Kaip matote, skirstome ribotuvus (ribotuvus) ir palyginkite sveikuosius skaičius.

1
24 июня '14 в 1:22 2014-06-24 01:22 atsakymas pateikiamas hex494D49 birželio 24 d., 14 d. 1:22 2014-06-24 01:22
  from_date ='10-07-2012'; to_date = '05-05-2012'; var fromdate = from_date.split('-'); from_date = new Date(); from_date.setFullYear(fromdate[2],fromdate[1]-1,fromdate[0]); var todate = to_date.split('-'); to_date = new Date(); to_date.setFullYear(todate[2],todate[1]-1,todate[0]); if (from_date > to_date ) { alert("Invalid Date Range!\nStart Date cannot be after End Date!") return false; } 

Naudokite šį kodą, kad palygintumėte datas naudodami „JavaScript“.

Dėkojame D.Jeevai

1
10 июля '12 в 13:20 2012-07-10 13:20 Jeevos atsakymą pateikė liepos 10 d. 12 val. 15.00 val. 2012-07-10 13:20

Sveiki. Čia pateikiamas mano duomenų palyginimo kodas. Mano atveju patikrinu, ar nesirinkau pasirinktų datų.

 var myPickupDate = <pick up date> ; var isPastPickupDateSelected = false; var currentDate = new Date(); if(currentDate.getFullYear() <= myPickupDate.getFullYear()){ if(currentDate.getMonth()+1 <= myPickupDate.getMonth()+1 || currentDate.getFullYear() < myPickupDate.getFullYear()){ if(currentDate.getDate() <= myPickupDate.getDate() || currentDate.getMonth()+1 < myPickupDate.getMonth()+1 || currentDate.getFullYear() < myPickupDate.getFullYear()){ isPastPickupDateSelected = false; return; } } } console.log("cannot select past pickup date"); isPastPickupDateSelected = true; 
1
08 апр. atsakymą pateikė Qasim 08 balandžio. 2016-04-08 16:45 '16 at 16:45 pm 2016-04-08 16:45
 var curDate=new Date(); var startDate=document.forms[0].m_strStartDate; var endDate=document.forms[0].m_strEndDate; var startDateVal=startDate.value.split('-'); var endDateVal=endDate.value.split('-'); var firstDate=new Date(); firstDate.setFullYear(startDateVal[2], (startDateVal[1] - 1), startDateVal[0]); var secondDate=new Date(); secondDate.setFullYear(endDateVal[2], (endDateVal[1] - 1), endDateVal[0]); if(firstDate > curDate) { alert("Start date cannot be greater than current date!"); return false; } if (firstDate > secondDate) { alert("Start date cannot be greater!"); return false; } 
1
12 февр. vartotojo1931504 atsakymas vasario 12 d. 2013-02-12 13:31 '13, 13:31, 2013-02-12 13:31
  • 1
  • 2

Kiti klausimai apie „ žymų arba Užduoti klausimą