-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDateConverter.java
More file actions
75 lines (65 loc) · 3.13 KB
/
DateConverter.java
File metadata and controls
75 lines (65 loc) · 3.13 KB
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import android.content.Context;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
public class DateConverter {
private static final String FORMAT_DATA = "yyyy-MM-dd'T'HH:mm:ssZ";
private static final String TAG = DateConverter.class.getSimpleName();
private static final String TIME_PLACEHOLDER = "%s : %s";
private static final String DATE_PLACEHOLDER = "%s %s %s";
private static final String TIME_DATE_PLACEHOLDER = "%s %s";
private static final String[] MONTH_NAME = {
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"};
private static Date convertStringToDate(String dateString) {
Date date = null;
SimpleDateFormat format = new SimpleDateFormat(FORMAT_DATA, Locale.getDefault());
try {
date = format.parse(dateString);
} catch (ParseException e) {
Logger.e(TAG, e.getMessage());
}
return date;
}
public static String getStringTime(Context context, String dateString) {
Date date = convertStringToDate(dateString);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
String hours = String.format(Locale.getDefault(), context.getResources().getString(R.string.format_time), calendar.get(Calendar.HOUR_OF_DAY));
String minutes = String.format(Locale.getDefault(), context.getResources().getString(R.string.format_time), calendar.get(Calendar.MINUTE));
return String.format(Locale.getDefault(), TIME_PLACEHOLDER, hours, minutes);
}
public static String getStringDate(Context context, String dateString) {
Date date = convertStringToDate(dateString);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
int month = calendar.get(Calendar.MONTH);
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
int year = calendar.get(Calendar.YEAR);
String dayString = String.format(Locale.getDefault(), context.getResources().getString(R.string.format_time), dayOfMonth);
String yearString = String.format(Locale.getDefault(), context.getResources().getString(R.string.format_year), year);
return String.format(Locale.getDefault(), DATE_PLACEHOLDER, dayString, MONTH_NAME[month], yearString);
}
public static String buildStringDate(int year, int month, int dayOfMonth, int hourOfDay, int minute) {
SimpleDateFormat sdf = new SimpleDateFormat(FORMAT_DATA, Locale.getDefault());
Calendar calendar = Calendar.getInstance();
calendar.set(year, month, dayOfMonth, hourOfDay, minute);
return sdf.format(calendar.getTime());
}
public static String getTimeDateString(Context context, String date) {
return String.format(Locale.getDefault(), TIME_DATE_PLACEHOLDER, DateConverter.getStringTime(context, date),
DateConverter.getStringDate(context, date));
}
}