Fix incorrect date format for some languages

pull/77/merge
Alinson S. Xavier 10 years ago
parent 3811f4b339
commit af3b18f518

@ -97,6 +97,22 @@ public class DateHelper
return df.format(date); return df.format(date);
} }
public static SimpleDateFormat getDateFormat(String skeleton)
{
String pattern;
Locale locale = Locale.getDefault();
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR2)
pattern = DateFormat.getBestDateTimePattern(locale, skeleton);
else
pattern = skeleton;
SimpleDateFormat format = new SimpleDateFormat(pattern, locale);
format.setTimeZone(TimeZone.getTimeZone("UTC"));
return format;
}
public static SimpleDateFormat getCSVDateFormat() public static SimpleDateFormat getCSVDateFormat()
{ {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.US); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.US);

@ -35,9 +35,7 @@ import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.GregorianCalendar; import java.util.GregorianCalendar;
import java.util.HashMap; import java.util.HashMap;
import java.util.Locale;
import java.util.Random; import java.util.Random;
import java.util.TimeZone;
public class HabitFrequencyView extends ScrollableDataView implements HabitDataView public class HabitFrequencyView extends ScrollableDataView implements HabitDataView
{ {
@ -93,11 +91,8 @@ public class HabitFrequencyView extends ScrollableDataView implements HabitDataV
wdays = DateHelper.getShortDayNames(); wdays = DateHelper.getShortDayNames();
dfMonth = new SimpleDateFormat("MMM", Locale.getDefault()); dfMonth = DateHelper.getDateFormat("MMM");
dfYear = new SimpleDateFormat("yyyy", Locale.getDefault()); dfYear = DateHelper.getDateFormat("yyyy");
dfMonth.setTimeZone(TimeZone.getTimeZone("GMT"));
dfYear.setTimeZone(TimeZone.getTimeZone("GMT"));
rect = new RectF(); rect = new RectF();
prevRect = new RectF(); prevRect = new RectF();

@ -40,7 +40,6 @@ import org.isoron.uhabits.tasks.ToggleRepetitionTask;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Calendar; import java.util.Calendar;
import java.util.GregorianCalendar; import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.Random; import java.util.Random;
public class HabitHistoryView extends ScrollableDataView implements HabitDataView, public class HabitHistoryView extends ScrollableDataView implements HabitDataView,
@ -100,8 +99,8 @@ public class HabitHistoryView extends ScrollableDataView implements HabitDataVie
checkmarks = new int[0]; checkmarks = new int[0];
primaryColor = ColorHelper.palette[7]; primaryColor = ColorHelper.palette[7];
wdays = DateHelper.getShortDayNames(); wdays = DateHelper.getShortDayNames();
dfMonth = new SimpleDateFormat("MMM", Locale.getDefault()); dfMonth = DateHelper.getDateFormat("MMM");
dfYear = new SimpleDateFormat("yyyy", Locale.getDefault()); dfYear = DateHelper.getDateFormat("yyyy");
baseLocation = new RectF(); baseLocation = new RectF();
} }

@ -29,16 +29,15 @@ import android.graphics.RectF;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import android.util.AttributeSet; import android.util.AttributeSet;
import org.isoron.uhabits.R;
import org.isoron.uhabits.helpers.ColorHelper; import org.isoron.uhabits.helpers.ColorHelper;
import org.isoron.uhabits.helpers.DateHelper; import org.isoron.uhabits.helpers.DateHelper;
import org.isoron.uhabits.R;
import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.models.Habit;
import org.isoron.uhabits.models.Score; import org.isoron.uhabits.models.Score;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Calendar; import java.util.Calendar;
import java.util.GregorianCalendar; import java.util.GregorianCalendar;
import java.util.Locale;
import java.util.Random; import java.util.Random;
public class HabitScoreView extends ScrollableDataView implements HabitDataView public class HabitScoreView extends ScrollableDataView implements HabitDataView
@ -100,9 +99,9 @@ public class HabitScoreView extends ScrollableDataView implements HabitDataView
createPaints(); createPaints();
createColors(); createColors();
dfYear = new SimpleDateFormat("yyyy", Locale.getDefault()); dfYear = DateHelper.getDateFormat("yyyy");
dfMonth = new SimpleDateFormat("MMM", Locale.getDefault()); dfMonth = DateHelper.getDateFormat("MMM");
dfDay = new SimpleDateFormat("d", Locale.getDefault()); dfDay = DateHelper.getDateFormat("d");
rect = new RectF(); rect = new RectF();
prevRect = new RectF(); prevRect = new RectF();

Loading…
Cancel
Save