Я использую Date.wday, чтобы получить номер буднего дня, но как я могу создать новую дату с таким количеством (без использования Date.commercial)? Мне нужна дата только на следующей неделе. Например, если у меня есть 2 (вторник), новая дата будет любой даты следующего дня (2009-07-28). Благодаря!Как создать новую дату всего за день недели?
ответ
Я сомневаюсь, что вы можете сделать что-то подобное, как вы можете себе представить ...
создания нового объекта Date говорит неявно, создавая дату, а не будний день ...
почему бы не получить в этот день и добавить к нему неделю?
Создайте метод, который передает дату и день недели, а затем добавьте дни, пока не получите нужный вам рабочий день, и добавьте 1 неделю, чтобы получить следующую неделю, если вам нужно.
(извините, я C# развиваться, но я надеюсь, что вы получите то, что я говорю)
DateTime AddWeekFromDate(DateTime today, DayOfWeek week)
{
if(today.DayOfWeek == week)
return today.AddDays(7);
while (today.DayOfWeek != week)
today = today.AddDays(1);
return today;
}
использованием
lbl.Text = AddWeekFromDate(DateTime.Now, DayOfWeek.Wednesday).ToLongDateString();
петь дату сегодня (23 июля 2009) его выходы
Wednesday July 29th, 2009
Я ничего не знаю о Java, но я много знаю на других языках. Если вы знаете, что всегда будет неделя, вы можете найти что-то, что всегда определяет, что такое понедельник на этой неделе, а затем, основываясь на этом, добавьте свой день недели и 7 к дате. Таким образом, в PHP, я бы с:
$monday = (date('w', time()) == 1) ? strtotime("Today") : strtotime("Monday");
// This will give us a date variable of this Monday. The conditional bit is to avoid getting last Monday when today is Monday.
$day_number = $_POST['daynumb'];
// Or however the day of the week number gets into the mix.
$next_week = strtotime("+".$day_number + 7." days", $monday);
Я знаю, что это не является совершенным с точки зрения синтаксиса и то, что вам нужно, но логически она должна работать таким же образом.
Если вы проголосуете за что-то, вы должны оставить комментарий. – Anthony
Я предполагаю, что это было отклонено, потому что ваш ответ использовал PHP, и все же вопрос отмечен как Ruby. Был ли этот тег добавлен позже? – user37011
Я понятия не имею. Я обычно указываю в актуальном вопросе, если проблема связана с языком. Если я работаю в PHP, и это не проблема с PHP, я думаю, что полезно получить обратную связь с другими языками. Я всегда считал теги средством организации и улучшения поисков, а не частью самого вопроса.Не говоря уже о том, что я указал, что, хотя мой пример был на PHP, он работал бы на любом другом языке. Это всего лишь математика, основанная на дате. – Anthony
Вы можете превратить день номер (например 2
) в имя день следующим образом:
day_number = 2
Date::DAYNAMES[day_number]
# => 'Tuesday'
Если вы устанавливаете chronic драгоценный камень, то вы можете сделать хороший на естественном языке синтаксический даты и времени. Например:
Chronic.parse 'next tuesday' # it's currently Thursday, July 23
# => Tue Jul 28
Комбинируя их, вы можете сделать
require 'chronic'
class MyClass
# returns a Date for the nth day of the week next week
def next_n_day(n)
Chronic.parse("next #{Date::DAYNAMES[n]}")
end
end
Я приехал сюда, чтобы найти способ найти предыдущий день рынка (как правило, прошлый рабочий день раньше) с датой дивиденда. Итак, теперь я использую: 'Chronic.parse 'last weekday',: now => Time.parse (" 2010-07-09 ")' Хороший совет, спасибо! – Marcos
Найти дельту дней между следующий вторник и сегодня, а затем использовать Дата # +
today = Date.today
future_wday = 2
delta_days = future_wday + 7 - today.wday
future_date = today + delta_days
p future_date.ctime # => "Tue Jul 28 00:00:00 2009"
Это будет работать и даже проще ... если вы просто ищете 1 неделю с сегодняшнего дня, просто выполните: 'future_date = today + 7' –
- 1. Получить последний день (дату) недели за данную дату
- 2. Как получить дату «месяц», «неделя», день недели
- 3. Получить следующий LocalDateTime за данный день недели
- 4. Заявление IF за день недели
- 5. как преобразовать выведенную дату в день недели
- 6. как получить дату от недели и день недели в оракула
- 7. InfluxDB среднее за день недели
- 8. Определить день недели данной недели
- 9. Android: Установите дату и получить день недели
- 10. Получить начальную дату недели (настраиваемый начальный день недели)
- 11. Платные пользовательские транзакции за каждый день недели
- 12. Дата, использующая день недели
- 13. PHP день недели числового день недели текст
- 14. Как определить n-й день недели за данный месяц?
- 15. Как найти заданную дату, когда указан указанный день недели
- 16. VB.NET Сравните даты, дни, недели, чтобы создать новую переменную datetime
- 17. Сокращения за месяц и день недели
- 18. начало недели (понедельник) за предыдущий день
- 19. Javascript создает новую дату минус один день
- 20. Как получить день недели?
- 21. Как начать день недели?
- 22. Как найти день недели?
- 23. Получить день недели
- 24. Группа за неделю с колонками за каждый день недели
- 25. Как получить временную метку за конкретный день через 2 недели
- 26. NSCalendar первый день недели
- 27. Получить День недели за неделю номер в php
- 28. NSDate получает конкретный день недели?
- 29. Как найти Ближайший (день недели) на заданную дату
- 30. Как построить дату, зная День недели в Oracle
«почему бы не получить, что день и добавить к нему неделю? " Wow, duh. Спасибо. – Rick
Если сегодня среда и я прохожу в среду для DayOfWeek, разве это не только сегодня, а не через неделю? –
@Sarah больше не было :) – balexandre