-
Notifications
You must be signed in to change notification settings - Fork 0
/
YesterdayStrategy.java
37 lines (29 loc) · 1.05 KB
/
YesterdayStrategy.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package constructor.objects.dateparser.core;
import timeservice.TimeService;
import util.Assert;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
/**
* Ñòðàòåãèÿ "â÷åðà"
*
* @author Igor Usenko
* Date: 11.01.2009
*/
public class YesterdayStrategy implements ParsingStrategy {
public Date parse(final String _text, final TimeService _timeService) {
Assert.isValidString(_text, "Text is not valid.");
Assert.notNull(_timeService, "Time service is null.");
Date result = TimeParser.convert(_text);
if (result != null) {
Calendar calendar = new GregorianCalendar();
calendar.setTimeInMillis(_timeService.getCurrentTime());
calendar.add(Calendar.DAY_OF_MONTH, -1);
calendar.set(Calendar.HOUR_OF_DAY, DateParserTools.getHour(result));
calendar.set(Calendar.MINUTE, DateParserTools.getMinute(result));
calendar.set(Calendar.SECOND, 0);
result = calendar.getTime();
}
return result;
}
}