- Я хотел бы написать утро, если время между 6:00 и 12:00, днем, если время между 00:01 и 18:00 и вечером, если 6:01, между 5:59.
Для определения «утром», «днем», «вечером» и «ночью» нам нужно написать собственный метод.Тот, который у меня есть, немного отличается от того, что вы просили, потому что обычно утро начинается после полуночи (люди часто говорят что-то вроде: «Я был до 2 часов ночи!»).Однако вы можете видеть логику и изменять ее в соответствии с вашими предпочтениями.
Если мы используем 24-часовые часы, где полночь равна 0
(что является свойством Hour
для DateTime
использует), то это делает расчет довольно простым:
public static string GetGeneralTime(DateTime specificTime)
{
if (specificTime.Hour < 12) return "morning";
if (specificTime.Hour < 17) return "afternoon";
if (specificTime.Hour < 21) return "evening";
return "night";
}
Я хотел бы выписать сегодняшнюю дату и день недели.Например: «Сегодняшняя дата - 12 июня. 2018. Вторник.
Для этой части вы можете получить ее автоматически из DateTime
строкового формата (которыйвключает в себя формат «день недели», такой как «понедельник» ("dddd"
) или краткую форму «понедельник» ("ddd"
), и формат «название месяца», например «июнь» ("MMMM"
) иликороткая форма "Jun" ("MMM"
)). Нажмите на ссылку выше для получения дополнительной информации.
Например, эта строка:
Console.WriteLine("Today's date is " + DateTime.Now.ToString("MMMM dd. yyyy., dddd"));"
Будет выводить: Сегодняшняя дата12 июня 2018 г., вторник.
Я хотел бы написать другой день недели после предложения "Вы должны сосредоточиться".В понедельник я хотел бы написать среду, во вторник я хотел бы написать четверг и пятницу и т. Д.
Чтобы получить дни концентрации, нам, вероятно, следует создать другой метод, поскольку разные дни имеют разныеправила.Вот пример метода, который возвращает то, что вы описали выше, а для всех остальных дней он просто возвращает строку DayOfWeek следующего дня:
public static string GetConcentrationDays(DateTime fromDate)
{
switch (fromDate.DayOfWeek)
{
case DayOfWeek.Monday:
return "Wednesday";
case DayOfWeek.Tuesday:
return "Thursday AND Friday";
default:
// For any other day, return the next day's day of week
return fromDate.AddDays(1).DayOfWeek.ToString();
}
}
Теперь мы можем собрать все это вместе, выполнив что-то вроде:
private static void Main()
{
// Get the current date and time
var now = DateTime.Now;
// Build our greeting string
var greeting = new StringBuilder();
greeting.Append("Good " + GetGeneralTime(now) + "! ");
greeting.AppendLine("Today's date: " + now.ToString("MMMM dd, yyyy, dddd. "));
greeting.AppendLine("Now you have to concentrate on " + GetConcentrationDays(now));
// Display our greeting to the user
Console.WriteLine(greeting.ToString());
GetKeyFromUser("\nDone! Press any key to exit...");
}
Выход
