Получаю я дату заказа в String в таком формате 2017-07-25T13:24:46+0300
И мне надо сгруппировать все даты по неделям. То есть, например, на этой неделе были выполнены такие-то заказы, на позапрошлой неделе были такие заказы и т.д
И сформировать из недельных отчётов коллекцию String.
Посмотрите пример ниже. Полученная из String дата парсится и переводится в календарь. У календаря есть метод - получить номер недели от начала года. Соответственно все данные можно сохранять понедельно.
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
private Button button;
private Map<Integer, List<String>> dates;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dates = new HashMap<>();
putDataInCollection("2017-01-01T13:24:46+0300");
putDataInCollection("2017-01-01T13:24:46+0300");
putDataInCollection("2017-01-05T13:24:46+0300");
putDataInCollection("2017-01-10T13:24:46+0300");
putDataInCollection("2017-01-12T13:24:46+0300");
putDataInCollection("2017-01-15T13:24:46+0300");
}
private void putDataInCollection(String order){
Calendar calendar = Calendar.getInstance();
calendar.setTime(getDate(order));
List<String> datesList ;
if (dates.get(calendar.get(Calendar.WEEK_OF_YEAR))!=null) {
datesList = dates.get(calendar.get(Calendar.WEEK_OF_YEAR));
} else {
datesList = new ArrayList<>();
}
datesList.add(order);
dates.put(calendar.get(Calendar.WEEK_OF_YEAR),datesList);
}
private Date getDate(String date) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'kk:mm:ssZ");
Date convertedDate = new Date();
try {
convertedDate = dateFormat.parse(date);
} catch (ParseException e) {
e.printStackTrace();
}
return convertedDate;
}
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости