package net.dewep.intranetepitech; import android.annotation.SuppressLint; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.Locale; public class ManipulateDate { public ManipulateDate() { } public static String calc_date(int move, int days, int addition) { Calendar date = GregorianCalendar.getInstance(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.US); if (days == 7) date.add(Calendar.DAY_OF_YEAR, - ((date.get(Calendar.DAY_OF_WEEK) + 5) % 7)); date.add(Calendar.DAY_OF_YEAR, move * days); String start = dateFormat.format(date.getTime()); date.add(Calendar.DAY_OF_YEAR, days - 1 + addition); String end = dateFormat.format(date.getTime()); return ("start=" + start + "&end=" + end); } public static String start_end(int move, int days) { return (ManipulateDate.calc_date(move, days, 0)); } public static String two_weeks() { return (ManipulateDate.calc_date(-1, 7, 7)); } @SuppressLint("NewApi") public static String date_explain(int move, int days) { Calendar date = GregorianCalendar.getInstance(); SimpleDateFormat dateFormat = null; if (android.os.Build.VERSION.SDK_INT >= 11) dateFormat = new SimpleDateFormat("cccccccccccc dd MMMMMMMMMM", Locale.FRANCE); else dateFormat = new SimpleDateFormat("dd MMMMMMMMMM", Locale.FRANCE); if (days == 7) date.add(Calendar.DAY_OF_YEAR, - ((date.get(Calendar.DAY_OF_WEEK) + 5) % 7)); date.add(Calendar.DAY_OF_YEAR, move * days); String start = dateFormat.format(date.getTime()); date.add(Calendar.DAY_OF_YEAR, days - 1); String end = dateFormat.format(date.getTime()); if (start.equals(end)) { char[] stringArray = start.toCharArray(); stringArray[0] = Character.toUpperCase(stringArray[0]); start = new String(stringArray); return (start); } return ("Du " + start + " au " + end); } @SuppressLint("NewApi") public static String convert_date(String old) { try { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd", Locale.US); Date date = format.parse(old); SimpleDateFormat format_new = null; if (android.os.Build.VERSION.SDK_INT >= 11) format_new = new SimpleDateFormat("cccccccccccc dd MMMMMMMMMM", Locale.FRANCE); else format_new = new SimpleDateFormat("dd MMMMMMMMMM", Locale.FRANCE); char[] stringArray = format_new.format(date).toCharArray(); stringArray[0] = Character.toUpperCase(stringArray[0]); return (new String(stringArray)); } catch (ParseException e) { e.printStackTrace(); } return (old); } @SuppressLint("NewApi") public static String convert_date_time(String old) { try { SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US); Date date = format.parse(old); SimpleDateFormat format_new = null; if (android.os.Build.VERSION.SDK_INT >= 11) format_new = new SimpleDateFormat("cccccccccccc dd MMMMMMMMMM HH:mm", Locale.FRANCE); else format_new = new SimpleDateFormat("dd MMMMMMMMMM HH:mm", Locale.FRANCE); char[] stringArray = format_new.format(date).toCharArray(); stringArray[0] = Character.toUpperCase(stringArray[0]); return (new String(stringArray)); } catch (ParseException e) { e.printStackTrace(); } return (old); } }