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 package fr.paris.lutece.plugins.formengine.util;
35
36 import fr.paris.lutece.portal.service.util.AppLogService;
37
38 import java.sql.Time;
39 import java.sql.Timestamp;
40
41 import java.text.DateFormat;
42 import java.text.ParseException;
43 import java.text.SimpleDateFormat;
44
45 import java.util.Calendar;
46 import java.util.Date;
47 import java.util.GregorianCalendar;
48 import java.util.Locale;
49
50
51
52
53
54 public final class NoticeUtils
55 {
56 public static final String EMPTY_STRING = "";
57 public static final String CONSTANTE_PATTERN_DATE = "dd/MM/yyyy";
58 private static final String REGEX_ID = "^[\\d]+$";
59
60
61 private NoticeUtils( )
62 {
63 }
64
65
66
67
68
69
70
71
72 public static int convertStringToInt( String strParameter )
73 {
74 int nIdParameter = -1;
75
76 try
77 {
78 if ( ( strParameter != null ) && strParameter.matches( REGEX_ID ) )
79 {
80 nIdParameter = Integer.parseInt( strParameter );
81 }
82 }
83 catch ( NumberFormatException ne )
84 {
85 AppLogService.error( ne );
86 }
87
88 return nIdParameter;
89 }
90
91
92
93
94
95
96
97 public static String getDate( Timestamp date, String strPattern )
98 {
99 String strUsedPattern = strPattern;
100
101 if ( strUsedPattern == null )
102 {
103 strUsedPattern = CONSTANTE_PATTERN_DATE;
104 }
105
106 SimpleDateFormat dateFormat = new SimpleDateFormat( strUsedPattern, Locale.FRENCH );
107 String strDate = dateFormat.format( date ).toString( );
108
109 return strDate;
110 }
111
112
113
114
115
116
117
118 public static Timestamp getDate( String strDate, boolean isStartOfDayHour )
119 {
120 if ( ( strDate == null ) || ( strDate.trim( ).length( ) != CONSTANTE_PATTERN_DATE.length( ) ) )
121 {
122 return null;
123 }
124
125 DateFormat dateFormat = new SimpleDateFormat( CONSTANTE_PATTERN_DATE, Locale.FRENCH );
126 dateFormat.setLenient( false );
127
128 Date date;
129
130 try
131 {
132 date = dateFormat.parse( strDate.trim( ) );
133 }
134 catch ( ParseException e )
135 {
136 return null;
137 }
138
139 Calendar caldate = new GregorianCalendar( );
140 caldate.setTime( date );
141 caldate.set( Calendar.MILLISECOND, 0 );
142 caldate.set( Calendar.SECOND, 0 );
143
144 if ( isStartOfDayHour )
145 {
146 caldate.set( Calendar.HOUR_OF_DAY, caldate.getActualMinimum( Calendar.HOUR_OF_DAY ) );
147 caldate.set( Calendar.MINUTE, caldate.getActualMinimum( Calendar.MINUTE ) );
148 }
149 else
150 {
151 caldate.set( Calendar.HOUR_OF_DAY, caldate.getActualMaximum( Calendar.HOUR_OF_DAY ) );
152 caldate.set( Calendar.MINUTE, caldate.getActualMaximum( Calendar.MINUTE ) );
153 caldate.set( Calendar.SECOND, caldate.getActualMaximum( Calendar.SECOND ) );
154 }
155
156 Timestamp timeStamp = new Timestamp( caldate.getTimeInMillis( ) );
157
158 return timeStamp;
159 }
160
161
162
163
164
165 public static Timestamp getCurrentDate( )
166 {
167 return new Timestamp( GregorianCalendar.getInstance( ).getTimeInMillis( ) );
168 }
169
170
171
172
173
174
175 public static Time getTime( Date date )
176 {
177 Calendar cal = Calendar.getInstance( );
178 cal.setTime( date );
179
180 Time time = new Time( cal.getTimeInMillis( ) );
181
182 return time;
183 }
184 }