У меня есть элемент управления, в котором вы можете перетаскивать элементы в Gantt
, как timetable
. Самое маленькое время дня: 8 a.m
, а наибольшее время - 4 p.m
. Есть ли элегантный способ, который я мог бы сказать структуре DateTime
, чтобы взять этот временной интервал вместо 24 hour one
?Custom DateTime day length
ответ
Вы, конечно же, не можете изменить поведение существующих методов DateTime, но методы расширения будут полезны здесь.
Согласно вашему требованию вы хотите, чтобы дата двигалась вперед 24 часа, если вы добавили 8 часов к текущей дате. (Исправьте меня, если мое понимание неверно).
Вы можете создать метод расширения с помощью AddWorkHours (или может быть чем-то более подходящим для ваших соглашений об именах), который займет несколько часов в качестве входных данных (например, 8), но фактически добавит 24 часа к текущей дате.
Код будет выглядеть следующим образом.
public class DateTimeExtensions
{
public static DateTime AddWorkHours(this DateTime dateTime, int workHours)
{
var workHoursPerday = 8; //Here 8 also can be configurable value if you have different working hours for different customer.
var daysToAdd = (int) workHours/workHoursPerday; //You can have validation here to check if workHours are in exact multiplex of 8.
//Also you can have rounding off logic.
dateTime.AddDays(daysToAdd);
}
}
Вам просто нужно убедиться, что вы вызываете правильный метод в своем звонке в надлежащих местах. Надеюсь, это по крайней мере даст некоторую идею для решения вашей проблемы.
Это хорошая попытка, но я не вижу проблем, что этот код исправляет –
Это общая логика. Вы всегда можете настроить логику в соответствии с вашими бизнес-требованиями. Проверка на день недели и изменение количества дней, чтобы добавить, решит выходные выходные тоже. –
Истинный ... он не решает эту конкретную проблему, но автор может использовать ее в качестве подсказки и настраивать ее в соответствии с потребностями. –
- 1. Добавить day to dateTime
- 2. Pandas datetime with Julian Day
- 3. julian day 15008.0239 to datetime in python
- 4. Получить строковое представление sql DateTime day
- 5. GROUP BY day of Datetime SQL
- 6. Как t-sql datetime convert +1 day
- 7. Parsing Custom DateTime Format
- 8. Custom DateTime XML Serialization
- 9. MySQL custom datetime
- 10. set custom length и width NSWindow
- 11. Min Length Custom AbstractValidationAttribute и реализация Castle.Components.Validator.IValidator
- 12. Num day to Name day with Pandas
- 13. C# Custom DateTime to Javascript Date
- 14. Custom ModelBinder для локализации DateTime
- 15. Umbraco DateTime Picker Custom Validation
- 16. MySQL Query Custom Между DateTime
- 17. Custom DateTime, настраивая формат даты
- 18. Custom DateTime stringformat в WPF
- 19. Python Pandas Custom DateTime Index
- 20. DateTime Custom Format for for Seasons
- 21. GroupBy DAY using Doctrine2
- 22. Parse String to DateTime format "day, month dat, year"
- 23. DateTime API выводит только DAY в будущем? PHP
- 24. Linq order by day of the datetime in C#
- 25. Параметры Year, Month и Day описывают не представимое исключение DateTime
- 26. Вырезать/округлить DateTime до целого i.e Hour/Day?
- 27. Формат datetime day с st, nd, rd, th
- 28. Лучший способ перевести datetime DAY на другие языки
- 29. SQL check current day
- 30. SELECT WHERE Date = Day
Не используется ли структура 'TimeSpan' для временных интервалов? –
Да. Но дело не в этом. Если я добавлю 8 часов в 'DateTime', он должен иметь тот же эффект, что и добавление 1 дня – Andro
. Я думаю, что он хочет сделать, чтобы сделать timecalculation на структуре на основе дня, начинающегося с 8 и заканчивающегося на 16 (и, вероятно, вне выходных тоже) и задать вопросы, как раннее время начала XXX задача имеет 30 часов работы ... когда ist сделано? – DarkSquirrel42