Позвольте мне объясниться. Путем знания недельного числа и год даты:
Date curr = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(curr);
int nweek = cal.WEEK_OF_YEAR;
int year = cal.YEAR;
Но теперь я не знаю, как получить дату первого дня той недели. Я смотрел в Календаре, Дате, DateFormat, но ничто, что может быть полезно...
Какое-либо предложение? (работающий в Java)
Эти поля не возвращают значения. Это постоянные , которые определяют поля в объекте
, который вы можете получить / Set / Add. Для достижения того, что вы хотите, вам сначала нужно получить календарь
, очистить его и установить известные значения. Он автоматически устанавливает дату в первый день этой недели.
// We know week number and year.
int week = 3;
int year = 2010;
// Get calendar, clear it and set week number and year.
Calendar calendar = Calendar.getInstance();
calendar.clear();
calendar.set(Calendar.WEEK_OF_YEAR, week);
calendar.set(Calendar.YEAR, year);
// Now get the first day of week.
Date date = calendar.getTime();
Пожалуйста, учитесь на Прочитайте javadocs javadocs , чтобы узнать, как использовать классы / методы / поля и не пытаться мыть случайным в своем IDE;)
, что сказал, java.util.date
и java.util.calendar
EPIC . Если вы можете, рассмотреть возможность переключения на время Joda .
Если вы знаете, что пробел обусловлен только местами, вы можете использовать:
$string = str_replace(' ','',$string);
Но если это может быть связано с космосом, tab... вы можете использовать:
$string = preg_replace('/\s+/','',$string);
-121--1785593- Наиболее эффективным и практичным способом является использование конст-ссылки. QString COW будет медленнее, чем передача по ссылке, но быстрее, чем обычная копия.
-121--2106641-Вот несколько быстрых и грязных кодов для этого. Этот код создает объект календаря с датой текущего дня, вычисляет текущий день недели и вычитает день недели таким образом, что вы находитесь на первом дне (воскресенье). Хотя я использую DAY_OF_YEAR это проходит через годы прекрасно (1/2/10 он вернется 12/27/09 что правильно).
import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DOW {
public static void main(String[] args) {
DOW dow = new DOW();
dow.doIt();
System.exit(0);
}
private void doIt() {
Date curr = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(curr);
int currentDOW = cal.get(Calendar.DAY_OF_WEEK);
cal.add(Calendar.DAY_OF_YEAR, (currentDOW * -1)+1);
Format formatter = new SimpleDateFormat("MM/dd/yy");
System.out.println("First day of week="+formatter.format(cal.getTime()));
}
}
Я не делал много вещей о дате на java, но решение может быть:
cal.set(Calendar.DAY_OF_YEAR, cal.get(Calendar.DAY_OF_YEAR) - cal.get(Calendar.DAY_OF_WEEK));
Логика:
Получить день недели и вычесть его из текущей даты (может понадобиться -1, в зависимости от того, нужен ли вам понедельник, чтобы быть первым днем недели или воскресенья)