我有一个WPF应用程序,我想在顶部写这个:
"好(1)上午/下午/晚上!今天的日期:(2)一周中的日期/日期。现在你必须专注于(3)周三和周四。"
(1)我想早上6点到凌晨6点之间的时间写下午,下午6点到凌晨6点到下午6点半到凌晨5点59分。 (2)我想写出今天的日期和星期几。例如:"今天的日期是星期二,即2018年6月12日。 (3)我想在句子后的一周中写下不同的一天"你必须专注于"。 周一我想写周三,周二我想写周四和周五等。
有解决方法吗?
提前感谢您的帮助!
答案 0 :(得分:2)
- 我想早上6点到凌晨6点之间的时间写下午,下午6点到凌晨6点到下午6点半到凌晨5点59分。
醇>
确定"早上","下午","晚上"和"晚上"我们需要编写自己的方法。我所拥有的与你所要求的略有不同,因为通常早晨在午夜之后开始(人们经常会说像#34;我早上到凌晨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";
}
- 我想写出今天的日期和星期几。例如:&#34;今天的日期是6月12日2018.星期二。
醇>
对于此部分,您可以从DateTime
string format自动获取(包括&#34;星期几和#34;格式,例如&#34;星期一和#34;({{1} }),或简短形式&#34;周一&#34;("dddd"
)和&#34;月份名称&#34;格式如&#34;六月&#34;("ddd"
)或简短形式&#34; Jun&#34;("MMMM"
))。点击上面的链接获取更多信息。
例如这一行:
"MMM"
将输出:今天的日期是6月12日2018.星期二。
- 我想在句子后的一周中写下不同的一天&#34;你必须专注于&#34;。周一我想写周三,周二我想写周四和周五等。
醇>
为了获得集中天数,我们应该创建另一种方法,因为不同的日子有不同的规则。这是一个示例方法,它返回您上面描述的内容,并且在其他所有日子里它只返回第二天的DayOfWeek字符串:
Console.WriteLine("Today's date is " + DateTime.Now.ToString("MMMM dd. yyyy., dddd"));"
现在我们可以通过以下方式将所有这些放在一起:
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();
}
}
<强>输出强>
答案 1 :(得分:1)
样品:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace stack_days
{
class Program
{
static void Main(string[] args)
{
//(1)
string helloText = "Good " + getHoursText() + " ! ";
//(2)
string todayDate = "Today's date is " + DateTime.Now.ToShortDateString() + " ( " + DateTime.Now.DayOfWeek + " ) ";
//(3)
string specialDay = getSpecialDayIfDay();
string fullText = helloText + todayDate + specialDay;
Console.WriteLine(fullText);
Console.ReadKey();
}
private static string getSpecialDayIfDay()
{
string info = "You have to concentrate on ";
if (DateTime.Now.DayOfWeek == DayOfWeek.Tuesday)
{
return info + "Wednesday and Thursday";
}
else if (DateTime.Now.DayOfWeek == DayOfWeek.Friday)
{
return info + "Weekend";
}
else
{
return null;
}
}
private static string getHoursText()
{
string partOfDay = "";
int hours = DateTime.Now.Hour;
if (hours > 18)
{
partOfDay = "evening";
}
else if (hours > 12)
{
partOfDay = "afternoon";
}
else if (hours > 6)
{
partOfDay = "morning";
}
else
{
partOfDay = "evening";
}
return partOfDay;
}
}
}