Q:

How to subtract one date from an array of dates?

So, I have an array of dates that I asked for from the user. I want to do a days elapsed function to delete certain entries by checking the days elapsed. This wouldn't be too bad with only one date but I can't figure out how to do this with an array of dates unfortunately. It is possible I am overlooking something basic as I am a beginner.
int[] dates;
int time;
int long;
Date now = new Date();

time = (int) (new Date().getTime() / 1000L);
diff = dates - time;

This last line of code is clearly incorrect and gave me an error. What do I do to correct this?
Thanks for putting up with a noobie.    

A:

The other answers are correct. 

You are not handling arrays properly, as you must loop through an array. 
You are not handling Date objects properly, as they cannot be subtracted using the HYPHEN-MINUS "-" character. 

Study
I suggest doing some more study. The free-of-cost Java Tutorials provided online by Oracle is a good place to start, as is the Head First Java book.

Collections
You can use basic arrays in Java if you wish, but the Collections objects are much more useful. 
Joda-Time
You can use the java.util.Date & Calendar classes bundled with Java, but they are not recommended because of bad design and implementation. Joda-Time is an open-source third-party library commonly used instead. 
In the future with Java 8, the Date/Calendar classes will by supplanted by the new java.time.* classes. These classes were inspired by Joda-Time but are re-architected.
No Need For Elapsed
If you just want to find the input dates that are too old (or old enough, you didn't say which), then you don't need to calculate elapsed time. Instead, calculate the date-time of the moment at which the inputs became too old. Then compare each input to see if it came before or after that moment.
Add To New Collection
Another tip: Rather than delete the ones you don't want, simply add the ones you do want to a new collection. Makes your code easier to understand and easier to debug.
Standard Format
Joda-Time by default renders date-times as a string by using the standard ISO 8601 format. You see this in the console output below. Joda-Time has many other formats built in, and you may define your own formats too.
Example Code
Here is some example code to get you going. Using Joda-Time 2.3, running in Java 7.
// © 2013 Basil Bourque. This source code may be used freely forever by anyone taking full responsibility for doing so.
// import org.joda.time.*;
// import org.joda.time.format.*;

DateTimeZone timeZone = DateTimeZone.forID( "Europe/Paris" );

java.util.List<DateTime> dateTimesInput = new ArrayList<DateTime>();
dateTimesInput.add( new DateTime( 2001, 2, 3, 4, 5, 6, timeZone ) );
dateTimesInput.add( new DateTime( 2014, 1, 5, 7, 8, 9, timeZone ) );
dateTimesInput.add( new DateTime( timeZone ).minusDays( 2 ) );

// Calculate the moment of a month ago, in desired time zone. Include all of that moment’s day, so go back to first moment of the day.
DateTime monthAgo = new DateTime( timeZone ).minusMonths( 1 ).withTimeAtStartOfDay();

// Loop the dates input. If any are less than a month old, keep them.
java.util.List<DateTime> keepers = new ArrayList<DateTime>();
for(DateTime dateTime: dateTimesInput){
    if( dateTime.isBefore( monthAgo ) ){
        // Ignore this date-time.
    } else {
        keepers.add( dateTime );
    }
}

// Dump to console.
System.out.println( "Month ago: " + monthAgo );
for(DateTime dateTime: keepers){
    System.out.println( dateTime );
}

When run…
Month ago:2013-12-06T00:00:00.000+01:00
2014-01-05T07:08:09.000+01:00
2014-01-04T04:25:31.272+01:00

