Получаю я дату заказа в 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;
}
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
здравствуйте, может кто поделиться кодом многопоточного бинарного поиска числа в массиве, при помощи C++ MPI и/или Java ThreadsСпасибо
Встретил это в книге по Java Яков Файн "Программирование на Java