Proyectos de Subversion Android Microlearning - Inconcert

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 gabriel 1
package com.cesams.twogetskills.inconcert.library;
2
 
3
import java.text.DateFormat;
4
import java.text.ParseException;
5
import java.util.Calendar;
6
import java.util.Date;
7
import java.util.Enumeration;
8
import java.util.Hashtable;
9
import java.util.regex.Pattern;
10
import android.content.Context;
11
 
12
public class Functions {
13
	private static Float scale;
14
	/*
15
	private static SimpleDateFormat sdfHora24   		= new SimpleDateFormat(Constants.FORMATO_HORA_24, Locale.getDefault());
16
	private static SimpleDateFormat sdfHora12   		= new SimpleDateFormat(Constants.FORMATO_HORA_12, Locale.getDefault());
17
	private static SimpleDateFormat sdfFechaHora24 		= new SimpleDateFormat(Constants.FORMATO_FECHA_HORA_24, Locale.getDefault());
18
	private static SimpleDateFormat sdfFechaHora12 		= new SimpleDateFormat(Constants.FORMATO_FECHA_HORA_12, Locale.getDefault());
19
	private static SimpleDateFormat sdfFechaYMD 		= new SimpleDateFormat(Constants.FORMATO_FECHA_YMD, Locale.getDefault());
20
	private static SimpleDateFormat sdfFechaDMY 		= new SimpleDateFormat(Constants.FORMATO_FECHA_DMY, Locale.getDefault());
21
	private static DecimalFormat formatMonto2Decimales	= new DecimalFormat("#,##0.00");
22
	private static DecimalFormat formatEntero 			= new DecimalFormat("#,##0");
23
*/
24
	private Functions() {
25
		// TODO Auto-generated constructor stub
26
	}
27
	/*
28
    public static Date parseFechaHora24(String timestamp24Horas) {
29
    	try {
30
			return sdfFechaHora24.parse(timestamp24Horas);
31
		} catch (ParseException e) {
32
			Calendar c = Calendar.getInstance(Locale.getDefault());
33
			return c.getTime();
34
		}
35
    }
36
 
37
    public static Date parseFechaHora12(String timestamp12Horas) {
38
    	try {
39
			return sdfFechaHora12.parse(timestamp12Horas);
40
		} catch (ParseException e) {
41
			Calendar c = Calendar.getInstance(Locale.getDefault());
42
			return c.getTime();
43
		}
44
    }
45
 
46
    public static Date parseFechaYMD(String fechaYMD) {
47
    	try {
48
			return sdfFechaYMD.parse(fechaYMD);
49
		} catch (ParseException e) {
50
			Calendar c = Calendar.getInstance(Locale.getDefault());
51
			return c.getTime();
52
		}
53
    }
54
 
55
    public static Date parseFechaDMY(String fechaDMY) {
56
    	try {
57
			return sdfFechaDMY.parse(fechaDMY);
58
		} catch (ParseException e) {
59
			Calendar c = Calendar.getInstance(Locale.getDefault());
60
			return c.getTime();
61
		}
62
    }
63
 
64
    public static Date parseHora12(String fechaDMY) {
65
    	try {
66
			return sdfHora12.parse(fechaDMY);
67
		} catch (ParseException e) {
68
			Calendar c = Calendar.getInstance(Locale.getDefault());
69
			return c.getTime();
70
		}
71
    }
72
 
73
    public static Date parseHora24(String fechaDMY) {
74
    	try {
75
			return sdfHora24.parse(fechaDMY);
76
		} catch (ParseException e) {
77
			Calendar c = Calendar.getInstance(Locale.getDefault());
78
			return c.getTime();
79
		}
80
    }
81
 
82
    public static String formatHora12(Date d) {
83
    	return sdfHora12.format(d);
84
    }
85
 
86
    public static String formatHora24(Date d) {
87
    	return sdfHora24.format(d);
88
    }
89
 
90
    public static String formatFechaHora24(Date d) {
91
		return sdfFechaHora24.format(d);
92
    }
93
 
94
    public static String formatFechaHora12(Date d) {
95
		return sdfFechaHora12.format(d);
96
    }
97
 
98
    public static String formatFechaYMD(Date d) {
99
		return sdfFechaYMD.format(d);
100
    }
101
 
102
    public static String formatFechaDMY(Date d) {
103
		return sdfFechaDMY.format(d);
104
    }
105
 
106
    public static String formatMonto2Decimales(float monto) {
107
    	return formatMonto2Decimales.format(monto);
108
    }
109
 
110
    public static String formatEntero(long monto) {
111
    	return formatEntero.format(monto);
112
    }
113
    */
114
 
115
 
116
 
117
 
118
	static Hashtable<String, String> html_specialchars_table = new Hashtable<String, String>();
119
	static {
120
	        html_specialchars_table.put("&lt;","<");
121
	        html_specialchars_table.put("&gt;",">");
122
	        html_specialchars_table.put("&amp;","&");
123
	        html_specialchars_table.put("&quot;","\"");
124
	}
125
 
126
	public static String formatTimeLineAddedOn(Date date)
127
	{
128
		Calendar cal = Calendar.getInstance();
129
		cal.setTime(date);
130
 
131
		String s = "";
132
		int month = cal.get(Calendar.MONTH);
133
 
134
		if(month == Calendar.JANUARY) {
135
			s = cal.get(Calendar.DAY_OF_MONTH) + " Ene " + cal.get(Calendar.YEAR);
136
 
137
		}
138
		else if(month == Calendar.FEBRUARY) {
139
			s = cal.get(Calendar.DAY_OF_MONTH) + " Feb " + cal.get(Calendar.YEAR);
140
		}
141
		else if(month == Calendar.MARCH) {
142
			s = cal.get(Calendar.DAY_OF_MONTH) + " Mar " + cal.get(Calendar.YEAR);
143
		}
144
		else if(month == Calendar.APRIL) {
145
			s = cal.get(Calendar.DAY_OF_MONTH) + " Abr " + cal.get(Calendar.YEAR);
146
		}
147
		else if(month == Calendar.MAY) {
148
			s = cal.get(Calendar.DAY_OF_MONTH) + " May " + cal.get(Calendar.YEAR);
149
		}
150
		else if(month == Calendar.JUNE) {
151
			s = cal.get(Calendar.DAY_OF_MONTH) + " Jun " + cal.get(Calendar.YEAR);
152
 
153
		}
154
		else if(month == Calendar.JULY) {
155
			s = cal.get(Calendar.DAY_OF_MONTH) + " Jul " + cal.get(Calendar.YEAR);
156
		}
157
		else if(month == Calendar.AUGUST) {
158
			s = cal.get(Calendar.DAY_OF_MONTH) + " Ago " + cal.get(Calendar.YEAR);
159
		}
160
		else if(month == Calendar.SEPTEMBER) {
161
			s = cal.get(Calendar.DAY_OF_MONTH) + " Sep " + cal.get(Calendar.YEAR);
162
		}
163
		else if(month == Calendar.OCTOBER) {
164
			s = cal.get(Calendar.DAY_OF_MONTH) + " Oct " + cal.get(Calendar.YEAR);
165
		}
166
		else if(month == Calendar.NOVEMBER) {
167
			s = cal.get(Calendar.DAY_OF_MONTH) + " Nov " + cal.get(Calendar.YEAR);
168
		}
169
		else if(month == Calendar.DECEMBER) {
170
			s = cal.get(Calendar.DAY_OF_MONTH) + " Dic " + cal.get(Calendar.YEAR);
171
		}
172
 
173
		return s;
174
 
175
	}
176
 
177
	public static String trimNull(String s) {
178
 
179
		return s == null || s.equals("null") ? "" : s.trim();
180
	}
181
 
182
	public static boolean passwordStrengthCheck(String s)  {
183
		//String regexp = "\\d{1,2}/\\d{1,2}/\\d{4}";
184
	//String regexp = "^(?=.*\\d+)(?=.*[a-z])(?=.*[A-Z])[0-9a-zA-Z]{6,16}$";
185
		String  regexp = "^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=[#?!@$^x%x*-]{0,}).{6,16}$";
186
 
187
		return Pattern.matches(regexp, s);
188
	}
189
 
190
	public static boolean emailcheckengine(String s)  {
191
 
192
		String  regexp = "^[a-zA-Z0-9_\\-\\.~]{2,}@[a-zA-Z0-9_\\-\\.~]{2,}\\.[a-zA-Z]{2,}$";
193
 
194
		return Pattern.matches(regexp, s);
195
	}
196
 
197
 
198
 
199
	public static int Numero2Int(String numero)
200
	{
201
		if(numero == null) {
202
			return 0;
203
		}
204
 
205
		StringBuffer sb = new StringBuffer();
206
 
207
		boolean primero = true;
208
		for (int i = 0; i < numero.length(); i++)
209
		{
210
			if ((numero.substring(i, i + 1) == "0") && (primero))
211
			{
212
				continue;
213
			}
214
			primero = false;
215
			sb.append(numero.substring(i, i + 1));
216
		}
217
 
218
		if (sb.length() == 0)
219
		{
220
			return 0;
221
		}
222
		else
223
		{
224
			return Integer.parseInt(sb.toString().trim());
225
		}
226
	}
227
 
228
	public static long Numero2Long(String numero)
229
	{
230
		if(numero == null) {
231
			return 0;
232
		}
233
 
234
		StringBuffer sb = new StringBuffer();
235
 
236
		boolean primero = true;
237
		for (int i = 0; i < numero.length(); i++)
238
		{
239
			if ((numero.substring(i, i + 1) == "0") && (primero))
240
			{
241
				continue;
242
			}
243
			primero = false;
244
			sb.append(numero.substring(i, i + 1));
245
		}
246
 
247
		if (sb.length() == 0)
248
		{
249
			return 0;
250
		}
251
		else
252
		{
253
			return Long.parseLong(sb.toString().trim());
254
		}
255
	}
256
 
257
 
258
	public static float Numero2Float(String numero) {
259
		if(numero == null) {
260
			return 0;
261
		}
262
 
263
		StringBuffer sb = new StringBuffer();
264
 
265
		boolean primero = true;
266
		for (int i = 0; i < numero.length(); i++)
267
		{
268
			if ((numero.substring(i, i + 1) == "0") && (primero))
269
			{
270
				continue;
271
			}
272
			primero = false;
273
			sb.append(numero.substring(i, i + 1));
274
		}
275
 
276
		if (sb.length() == 0)
277
		{
278
			return 0;
279
		}
280
		else
281
		{
282
			return Float.parseFloat(sb.toString().trim());
283
		}
284
 
285
	}
286
 
287
	public static String Long2Numero(long i, int longitud) {
288
		String s = String.valueOf(i);
289
 
290
		if (s.length() < longitud)
291
		{
292
			StringBuffer sb = new StringBuffer();
293
			int max = longitud - s.length();
294
			for (i = 0; i < max; i++)
295
			{
296
				sb.append('0');
297
			}
298
			sb.append(s);
299
			return sb.toString();
300
		}
301
		else
302
		{
303
			return s;
304
		}
305
	}
306
 
307
	public static String Int2Numero(int i, int longitud) {
308
		String s = String.valueOf(i);
309
 
310
		if (s.length() < longitud)
311
		{
312
			StringBuffer sb = new StringBuffer();
313
			int max = longitud - s.length();
314
			for (i = 0; i < max; i++)
315
			{
316
				sb.append('0');
317
			}
318
			sb.append(s);
319
			return sb.toString();
320
		}
321
		else
322
		{
323
			return s;
324
		}
325
	}
326
 
327
 
328
 
329
	public static int countCharacter(String str, char c)
330
	{
331
		if (str == null) {
332
			return 0;
333
		}
334
		else
335
		{
336
			int counter = 0;
337
 
338
			for (int i = 0; i < str.length(); i++)
339
			{
340
				if (c == str.charAt(i))
341
				{
342
					counter++;
343
				}
344
			}
345
			return counter;
346
		}
347
	}
348
 
349
 
350
	public static int hexToInt(String hex)
351
	{
352
		return Integer.parseInt(hex, 16);
353
	}
354
 
355
 
356
	public static String padRight(String s, int n, char c)
357
	{
358
		return padRight(s, n, c, true);
359
	}
360
 
361
	public static String padRight(String s, int n)
362
	{
363
		return padRight(s, n, ' ', true);
364
	}
365
 
366
	public static String padRight(String s, int n, char c, boolean hacerTrim)
367
	{
368
		if(hacerTrim)
369
		{
370
			s = s.trim();
371
		}
372
		if (s.length() > n)
373
		{
374
			return s.substring(0, n);
375
		}
376
		else
377
		{
378
			return repetirCaracter(c, n - s.length()) + s;
379
		}
380
	}
381
 
382
	public static String padLeftImpresion(String s, int n)
383
	{
384
		return padLeft(s, n, ' ', false);
385
	}
386
 
387
	public static String padLeft(String s, int n)
388
	{
389
		return padLeft(s, n, ' ', true);
390
	}
391
 
392
	public static String padLeft(String s, int n, char c, boolean hacerTrim)
393
	{
394
		if(hacerTrim)
395
		{
396
			s = s.trim();
397
		}
398
		if (s.length() > n)
399
		{
400
			return s.substring(0, n);
401
		}
402
		else
403
		{
404
			return s + repetirCaracter(c, n - s.length());
405
		}
406
	}
407
 
408
	public static String padCenter(String s, int n, char c)
409
	{
410
		return padCenter(s, n, c, true);
411
	}
412
 
413
	public static String padCenter(String s, int n)
414
	{
415
		return padCenter(s, n, ' ', true);
416
	}
417
 
418
	public static String padCenter(String s, int n, char c, boolean hacerTrim)
419
	{
420
		if(hacerTrim)
421
		{
422
			s = s.trim();
423
		}
424
		if (s.length() > n) {
425
			return s.substring(0, n - 1);
426
		}
427
		else
428
		{
429
			int l = (n - s.length()) / 2;
430
			StringBuffer sb = new StringBuffer();
431
 
432
			for (int i = 0; i < l; i++)
433
			{
434
				sb.append(c);
435
			}
436
			sb.append(s);
437
 
438
			if (n > s.length() + l * 2)
439
			{
440
				l++;
441
			}
442
			for (int i = 0; i < l; i++)
443
			{
444
				sb.append(c);
445
			}
446
 
447
			return sb.toString();
448
		}
449
	}
450
 
451
	public static String repetirCaracter(char c, int cantidad)
452
	{
453
		StringBuffer sb = new StringBuffer();
454
		for (int i = 1; i <= cantidad; i++)
455
		{
456
			sb.append(c);
457
		}
458
		return sb.toString();
459
	}
460
 
461
 
462
	public static boolean validarFecha(int dia, int mes, int ano)
463
	{
464
		if(dia < 1 || mes < 1 || mes > 12 || ano == 0) {
465
			return false;
466
		}
467
		else
468
		{
469
			if(mes == 2)
470
			{
471
				if(esBisiesto(ano))
472
				{
473
					if( dia > 29 ){
474
						return false;
475
					}
476
					else {
477
						return true;
478
					}
479
				}
480
				else
481
				{
482
					if (dia > 28)
483
					{
484
						return false;
485
					} else {
486
						return true;
487
					}
488
				}
489
			}
490
			else
491
			{
492
				if(mes == 4 || mes == 6 || mes == 9 || mes == 11)
493
				{
494
					return dia <= 30;
495
				} else {
496
					return dia <= 31;
497
				}
498
			}
499
		}
500
	}
501
 
502
	public static boolean esBisiesto(int ano)
503
	{
504
		return((ano%4 == 0 && ano % 100 !=0)|(ano % 400==0));
505
	}
506
 
507
	public static String removerCaracteresEspeciales(String input)
508
	{
509
 
510
 
511
 
512
 
513
	    String original = "áàäéèëíìïóòöúùuñÁÀÄÉÈËÍÌÏÓÒÖÚÙÜÑçÇ";
514
	    String ascii = "aaaeeeiiiooouuunAAAEEEIIIOOOUUUNcC";
515
	    String output = input;
516
	    for (int i=0; i<original.length(); i++) {
517
	        output = output.replace(original.charAt(i), ascii.charAt(i));
518
	    }
519
	    return output;
520
	}//remove1
521
 
522
	public static int diferenciasDeFechas(Date fechaInicial, Date fechaFinal)
523
	{
524
		DateFormat df = DateFormat.getDateInstance(DateFormat.MEDIUM);
525
		String fechaInicioString = df.format(fechaInicial);
526
		try {
527
			fechaInicial = df.parse(fechaInicioString);
528
		} catch (ParseException ex) {
529
		}
530
		String fechaFinalString = df.format(fechaFinal);
531
		try {
532
			fechaFinal = df.parse(fechaFinalString);
533
		} catch (ParseException ex) {
534
		}
535
		long fechaInicialMs = fechaInicial.getTime();
536
		long fechaFinalMs = fechaFinal.getTime();
537
		long diferencia = fechaFinalMs - fechaInicialMs;
538
		double dias = Math.floor(diferencia / (1000 * 60 * 60 * 24));
539
		return ((int) dias);
540
	}
541
 
542
 
543
	public static String htmlSpecialCharsDecode(String s)
544
	{
545
	        Enumeration<String> en = html_specialchars_table.keys();
546
	        while(en.hasMoreElements()){
547
	                String key = (String)en.nextElement();
548
	                String val = (String)html_specialchars_table.get(key);
549
	                s = s.replaceAll(key, val);
550
	        }
551
	        return s;
552
	}
553
 
554
	public static int dpToPixel(int dp, Context context) {
555
	    if (scale == null) {
556
	        scale = context.getResources().getDisplayMetrics().density;
557
	    }
558
 
559
	    return (int) ((float) dp * scale);
560
	}
561
 
562
 
563
}