I am trying to compare two dates to see if one date is less than the other date, so I format both dates, then check if the expiry date is less than today and if it then show an alert message:  var today = new Date(); var dd = today.getDate(); var mm = today.getMonth()+1;   var yyyy = today.getFullYear(); if(dd&lt;10){           dd='0'+dd }  if(mm&lt;10){     mm='0'+mm }  var today = dd+'/'+mm+'/'+yyyy;  var ExpiryDate = result.VATExpiryDate; var day = ExpiryDate.getDate();  var month = ExpiryDate.getMonth()+1; var year = ExpiryDate.getFullYear(); if(day&lt;10){       day='0'+day }  if(month&lt;10){       month='0'+month }  var ExpiryDate = day+'/'+month+'/'+year;      if(ExpiryDate &lt; today &amp;&amp; result.VATAuthNo.length&gt;0)     {           alert("Please note Vat Authorisation Date for " + result.Name + " has expired - " + ExpiryDate);     }   But it seems it doesn't work for all dates. For example if the expiry date is 10/12/2015 it works and the alert message shows. But if the date is 21/06/2016 it doesn't work, even though that date is less than today.
673
Can someone suggest a way to compare the values of two dates greater than, less than, and not in the past using JavaScript? The values will be coming from text boxes.
6719
Given two date ranges, what is the simplest or most efficient way to determine whether the two date ranges overlap?  As an example, suppose we have ranges denoted by DateTime variables StartDate1 to EndDate1 and StartDate2 to EndDate2.
6955
I'm reading text from a flat file in c# and need to test whether certain values are dates. They could be in either YYYYMMDD format or MM/DD/YY format. What is the simplest way to do this in .Net?
113519
I'm having a save method with several Conditions in it.Here is my apex class  invoiceset = [select SiteUrl__c, Prefix__c,Seperator__c,Seperator1__c,DateValue__c,DateValue1__c,Date_Format__c,Incrementer__c,Counter_Val1__c,counter__c from Invoice_setting__c limit 1];        if(invoiceSet[0].DateValue__c == 'Date' &amp;&amp; invoiceSet[0].DateValue1__c == 'Date'){         if(invoiceSet[0].Date_Format__c == 'dd-mm-yyyy'){              datenow = DateTime.now().format('dd-MM-yyyy');                   }else if(invoiceSet[0].Date_Format__c == 'MM-dd-yyyy'){              datenow = DateTime.now().format('MM-dd-yyyy');                     }else if(invoiceSet[0].Date_Format__c == 'dd/MM/yyyy'){              datenow = DateTime.now().format('dd/MM/yyyy');          }else if(invoiceSet[0].Date_Format__c == 'mm/dd/yyyy'){              datenow = DateTime.now().format('mm/dd/yyyy');          }else if(invoiceSet[0].Date_Format__c == 'yy'){              datenow = DateTime.now().format('yy');          }else if(invoiceSet[0].Date_Format__c == 'yyyy'){              datenow = DateTime.now().format('yyyy');          }           prefixName = invoiceset[0].prefix__c + invoiceSet[0].seperator__c + datenow + invoiceset[0].Seperator1__c + datenow;       }      else if(invoiceSet[0].DateValue__c == 'Counter' &amp;&amp; invoiceSet[0].DateValue1__c == 'Counter'){       if(invoiceSet[0].counter_val1__c == null){          invoiceSet[0].Counter_Val1__c = invoiceset[0].Counter__c;        }else if(invoiceSet[0].Counter_Val1__c == invoiceset[0].Counter__c){            intt = integer.valueof(invoiceSet[0].Counter__c) + integer.valueOf(invoiceSet[0].Incrementer__c) ;            invoiceSet[0].Counter_Val1__c = string.valueOf(intt) ;        }else {             intt = integer.valueof(invoiceSet[0].Counter_Val1__c) + integer.valueOf(invoiceSet[0].Incrementer__c) ;            invoiceSet[0].Counter_Val1__c = string.valueOf(intt) ;        }        update invoiceset;         prefixName = invoiceset[0].prefix__c + invoiceSet[0].seperator__c + invoiceSet[0].Counter_Val1__c + invoiceset[0].Seperator1__c +invoiceset[0].Counter_Val1__c;       } &amp;&amp; so on........   Inorder to cover all this conditions should I write those many methods or any other easy way?  Here is my Test Code  public static testmethod void test(){    invoice_setting__c setng = new invoice_setting__c(Name='Invoice Settings',SiteUrl__c='www.google.com',Prefix__c='Test',Seperator__c = '-',dateValue__c = 'Date',Seperator1__c = '/',dateValue1__c = 'Date',date_format__c='dd-mm-yyyy');     insert setng; } public static testmethod void test1(){     invoice_setting__c setng1 = new invoice_setting__c(Name='Invoice Settings',Prefix__c='Test',Seperator__c = '-',dateValue__c = 'Counter',Seperator1__c = '/',Counter_Val1__c=null,dateValue1__c = 'Counter',date_format__c='dd-mm-yyyy',Incrementer__c='10');     insert setng1; } &amp; so on......   Any Suggestions for this please
117870
I can't figure out how to do this.  There seems to be no global constant for blank/null associated with Date fields.  If I attempt to add {!$GlobalConstant.EmptyString}, or {!$GlobalConstant.Null} to the assignment I get a validation error.  If I leave the assignment field empty, then it doesn't do anything to the date. Below is a picture of my options.    Is this even possible?
115374
I'm trying to write a stored procedure to select employees who have birthdays that are upcoming.    SELECT * FROM Employees WHERE Birthday &gt; @Today AND Birthday &lt; @Today + @NumDays  This will not work because the birth year is part of Birthday, so if my birthday was '09-18-1983' that will not fall between '09-18-2008' and '09-25-2008'.    Is there a way to ignore the year portion of date fields and just compare month/days?   This will be run every monday morning to alert managers of birthdays upcoming, so it possibly will span new years.    Here is the working solution that I ended up creating, thanks Kogus.    SELECT * FROM Employees  WHERE Cast(DATEDIFF(dd, birthdt, getDate()) / 365.25 as int)     - Cast(DATEDIFF(dd, birthdt, futureDate) / 365.25 as int)  &lt;&gt; 0
14041
I want to use LookupOrderedRows and return rows between a start and end date (last month range). What is the best way to handle using Ampscript?   I can add one date to the where using   "DateField", @varStartDate,   But if I add the below to add additional where filters  "DateField", @varStartDate,"DateField", @varEndDate,   I get this error:     "Duplicate Key Field Name: DateField"   EDIT: Also I tried the range as the var for the LookupOrderedRows using   set @strRange = StringToDate(Format(DateDiff(@strStartDate, @strEndDate, "M"),"MM/dd/yyyy"))  and then in the LookupOrderedRows just using  "DateField", @strRange  But that got an error as well.
8747
I need to be able to compare some month names I have in an array.  It would be nice if there were some direct way like:  Month.toInt("January") &gt; Month.toInt("May")   My Google searching seems to suggest the only way is to write your own method, but this seems like a common enough problem that I would think it would have been already implemented in .Net, anyone done this before?
20307
I'm not sure if this gets the past date within the current day or if it only takes 30 or 31 days to it.  e.g.  If the current date is March 28th, 1 month ago must be February 28th, but what happen when it's March 30th?  Scenario  I want to backup some files each day, the script will save this files within the current date with $(date +%Y%m%d) format, like 20150603_bckp.tar.gz, then when the next month arrives, remove all those files within 1 month ago except the 1st's and the 15th's files, so this is my condition:  past_month = $(date -d "-1 month" +%Y%m%d) day = $(date +%d) if [ "$day" != 01 ] &amp;&amp; [ "$day" != 15 ] then     rm /path/of/files/${past_month}_bckp.tar.gz     echo "Depuration done" else     echo "Keep file" fi   But I want to know, what will happen when the date is 30th, 31th or even the past February example? It will keep those files? or remove day 1st files?  When it's 31th the depuration will execute, so if the past month only had 30 days, this will remove the day 1st file?   I hope I hinted.
37750
I need help making a TRIGGER that compares two dates being entered into a table, but I'm not 100% on the syntax I should use.  Something like:  CREATE TRIGGER chk_dates    BEFORE INSERT ON `job_history`    FOR EACH ROW     BEGIN       IF( NEW.end_date &lt; OLD.start_date ) .../// error, don't insert data       ELSE .../// allow the data to be entered   My table job_history will have a start_date, and when end_date is entered, I want it to check to ensure that it isn't prior to start_date.    How do I accomplish this?
20073
I've been using this function but I'd like to know what's the most efficient and accurate way to get it.  function daysInMonth(iMonth, iYear) {    return 32 - new Date(iYear, iMonth, 32).getDate(); }
81270
I'd like to be able to print text that varies depending on whether the date matches a given date string  For example  suppose there was a command   \iftoday#1#2#3   which printed #2 if \today matched the string in #1 and #3 otherwise.  So a sample of my proposed usage would be:     \iftoday{February 3, 2016}{There's no garbage today}{Please put out the garbage}    I've tried various commands like pdftexcmd's strcmp, to no avail.    I suspect the problem may have to do with matching the string generated by \today.    While on screen it appears that \today returns February 3, 2016. I can't get it to match February 3, 2016 when I compare strings.  Obviously, I'd be perfectly happy if I could get this to work by represent today's date in any of the standard date formats.  Thanks very much in advance for any suggestions.
9895
So what I need is a limitation for the user of the funded contracts. So this is what I am trying to implement. I am trying to let the user enter dates within the year 2014, which will bring up how many funded contracts are there for each month. I ONLY want up to the last day of the previous month and the passed months within the year 2014. So for example we are in June, if the user inputs any dates that are before June he can see those months of how many funded contracts are in there - but not any contract from June.   So the user should not be able to see July until we hit August which we can see July from there. Here is my query.  I feel that my where clause for the GetDate is incorrect. Any help will be appreciated             Alter Proc spGetAdminTotalYTD             (@Begin_Date  DATETIME,              @End_Date DATETIME,             @program int=null) As      Begin Declare @year int Set @year = 2014          SELECT  d.name, a.dealer_code, b.last_name, b.city, b.state, b.phone             , COUNT(CASE WHEN  MONTH(c.Funded_date) = 1 THEN 1 ELSE NULL END) January             , COUNT(CASE WHEN  MONTH(c.Funded_date) = 2 THEN 1 ELSE NULL END) Feburary             , COUNT(CASE WHEN  MONTH(c.Funded_date) = 3 THEN 1 ELSE NULL END) March             , COUNT(CASE WHEN  MONTH(c.Funded_date) = 4 THEN 1 ELSE NULL END) April             , COUNT(CASE WHEN  MONTH(c.Funded_date) = 5 THEN 1 ELSE NULL END) May             , COUNT(CASE WHEN  MONTH(c.Funded_date) = 6 THEN 1 ELSE NULL END) June             , COUNT(CASE WHEN  MONTH(c.Funded_date) = 7 THEN 1 ELSE NULL END) July             , COUNT(CASE WHEN  MONTH(c.Funded_date) = 8 THEN 1 ELSE NULL END) August             , COUNT(CASE WHEN  MONTH(c.Funded_date) = 9 THEN 1 ELSE NULL END) September             , COUNT(CASE WHEN  MONTH(c.Funded_date) = 10 THEN 1 ELSE NULL END) October             , COUNT(CASE WHEN  MONTH(c.Funded_date) = 11 THEN 1 ELSE NULL END) November             , COUNT(CASE WHEN  MONTH(c.Funded_date) = 12 THEN 1 ELSE NULL END) December,             COUNT(1) AS YTD         FROM tdealer a JOIN tContact b ON a.contact_id = b.contact_id               JOIN tContract  c ON a.dealer_id = c.dealer_id JOIN tCompany d               ON  c.company_id = d.company_id         WHERE YEAR(c.Funded_date) = @Year              AND c.Funded_date &gt;= DATEADD(MONTH, DATEDIFF(MONTH, 0,GETDATE())-4,0)              AND c.Funded_date &lt;  DATEADD(MONTH, DATEDIFF(MONTH,-1,GETDATE())-4,0)              AND c.program_id = @program              AND c.funded_date Between @Begin_Date And @End_Date              GROUP BY     d.name,     a.dealer_code,     b.last_name,     b.city,     b.state,     b.phone     END
102384
I am still not able to get the correct difference, really struggling to make it working. The business hour set from 10 AM to 7 PM  BusinessHours bh = [SELECT FridayEndTime,FridayStartTime,Id,MondayEndTime,MondayStartTime,                     FROM BusinessHours where Name='Test Business Hour'                     LIMIT 1]; Time startTime = bh.MondayStartTime;        Time endTime = bh.MondayEndTime;  Date d = Date.today(); Datetime monTodaystart = Datetime.newInstance(d.year(),d.month(),d.day(),startTime.hour(), startTime.minute(),startTime.second()); Datetime monTodayend = Datetime.newInstance(d.year(),d.month(),d.day(),endTime.hour(), endTime.minute(),endTime.second()); System.debug('monTodaystart :: '+monTodaystart);     System.debug('monTodayend :: '+monTodayend);   Long diff = BusinessHours.diff(bh.Id, monTodaystart, monTodayend); System.debug('diff  :: '+diff);   I tried this simple example, but still its not working why ? How we can manipulate it ?  Datetime monTodaystart = Datetime.newInstance(2017,8,20,10,0,0); Datetime monTodayEnd = Datetime.newInstance(2017,8,20,17,0,0); System.debug('ID : '+bh.Id);  Long diff = BusinessHours.diff(bh.Id, monTodaystart,monTodayEnd); System.debug('diff  :: '+diff);   I dont think I should used the API here, instead I should use my custom logic, looks like some bug in the API still exists.
6087
I have seen this before in SQL and VB, I am now reverse engineering an Excel speadsheet and have come across the following formula:   =IF(D23&lt;&gt;0,"Insufficent",0)   I am converting it to ActionScript:    var result:String = [condition] ? 0 : "Insufficient";    but I am unsure of what D23 &lt;&gt; 0 means, is it simply "not equal"?
9970
Could someone explain why this works in C#.NET 2.0:      Nullable&lt;DateTime&gt; foo;     if (true)         foo = null;     else         foo = new DateTime(0);   ...but this doesn't:      Nullable&lt;DateTime&gt; foo;     foo = true ? null : new DateTime(0);   The latter form gives me an compile error "Type of conditional expression cannot be determined because there is no implicit conversion between '&lt;null&gt;' and 'System.DateTime'."  Not that I can't use the former, but the second style is more consistent with the rest of my code.
88277
I constantly have problems working with dates in Excel, I must be doing something wrong but I don't understand what.  I have a spreadsheet, exported from our exchange server, that contains a column with dates on. They have come out in US format even though I'm in the UK.   The column in question looks like this  04/08/2012 04/09/2009 04/01/2010 04/21/2011 04/05/2012 08/30/2009 08/29/2010 08/28/2011   In Excel, I have highlighted the column and selected Format Cells.... In this dialog box, I have selected the Date, selected English (United States) as the locale and chosen the matching date format from the list. I hit OK and try to sort the data by this column.   In the sort dialogue I choose this column, select sort on Values but the order only gives me options for A to Z, not oldest to newest as I would expect.  This in turn sorts the date data by the first two digits.  I am aware I could re-format this data to ISO and then the A to Z sort would work but I shouldn't have too, I'm obviously missing something. What is it?  EDIT: I messed up the bounty but this should have gone to @r0berts answer, his first suggestion of Text to Columns with no delimiter and choosing 'MDY' as the type of data works. Additionally, if you have a time (i.e. 04/21/2015 18:34:22), you need to first get rid of the time data. However after that the method suggested by @r0berts works fine.