Q:

Как получить дату (Московское время) и сравнить её со строкой yyyy-MM-dd

Есть строка:
String dateFromServer = "2015-12-16";

Как правильно получить объект Date (по Москве) и сравнить его с этой строкой (раньше/позже)?

A:

Наиболее удобный способ работы с датами в Java (как минимум до Java 8) - использование библиотеки JodaTime.
Все сведется к тому, чтобы преобразовать строку в локальную дату LocalDate (т.е. дату без привязки к часовому поясу) и получить локальную дату по Москве. А потом сравнить их:
String dateFromServer = "2015-12-16";
LocalDate serverDate = LocalDate.parse(dateFromServer);
LocalDate localDate = new LocalDate(DateTimeZone.forID("Europe/Moscow"));

System.out.println(localDate.compareTo(serverDate));

Для Java 8+ код будет очень похожим на JodaTime:
String dateFromServer = "2015-12-16";
LocalDate serverDate = LocalDate.parse(dateFromServer);
LocalDate localDate = LocalDate.now(ZoneId.of("Europe/Moscow"));

System.out.println(localDate.compareTo(serverDate));

A:

Конкретно в вашем случае:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date = sdf.parse("2015-12-16");

+ обработка ошибки
и далее сравнение через compareTo или after/before

