1、写一个方法,设置两个时间段
protected bool getTimeSpan(string timeStr)
{
//判断当前时间是否在工作时间段内
string _strWorkingDayAM = "08:30";//工作时间上午08:30
string _strWorkingDayPM = "17:00";
TimeSpan dspWorkingDayAM = DateTime.Parse(_strWorkingDayAM).TimeOfDay;
TimeSpan dspWorkingDayPM = DateTime.Parse(_strWorkingDayPM).TimeOfDay;
//string time1 = "2017-2-17 8:10:00";
DateTime t1 = Convert.ToDateTime(timeStr);
TimeSpan dspNow = t1.TimeOfDay;
if (dspNow > dspWorkingDayAM && dspNow < dspWorkingDayPM)
{
return true;
}
return false;
}
2、定义一个变量
protected string getResult = string.Empty;
3、在button单击事件中调用
private void button4_Click(object sender, EventArgs e)
{
string time1 = "19:45:00"; //设置一个时间,下边调用方法返回true就是在工作时间内
//DateTime t1 = Convert.ToDateTime(time1);
bool resultBool = getTimeSpan(time1);
getResult = Convert.ToString(resultBool);
MessageBox.Show(getResult);
}
4、效果(步骤3中设置的时间如果在步骤1设置的时间段中返回true否则相反)
5.判断时间是否是今天
string start = "2020-04-23 17:00:00";
DateTime now = DateTime.Now;
DateTime today2 = new DateTime(now.Year, now.Month, now.Day);//当天的零时零分
if (DateTime.Parse(start) > today2)
{
MessageBox.Show("yes");
}
else
{
MessageBox.Show("no");
}
6.获取今年第一天、最后一天
/// <summary>
/// 获取本年年初, 本年度第一天
/// </summary>
/// <param name="dateTime">当前时间 DateTime.Now or DateTime.UtcNow</param>
/// <returns>后面的具体时、分、秒和传入值相等</returns>
public static DateTime GetYearFirstDate(DateTime dateTime)
{
// 本年年初
return dateTime.AddMonths(1 - dateTime.Month).AddDays(1 - dateTime.Day);
}
/// <summary>
/// 获取本年年末, 本年度最后一天
/// </summary>
/// <param name="dateTime">当前时间 DateTime.Now or DateTime.UtcNow</param>
/// <returns>后面的具体时、分、秒和传入值相等</returns>
public static DateTime GetYearLastDate(DateTime dateTime)
{
// 本年年末
return GetYearFirstDate(dateTime).AddYears(1).AddDays(-1);
}
7.数字字符串转换为日期类型
string dateString = "20110526";
DateTime dt = DateTime.ParseExact(dateString, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
或者
DateTime dt = DateTime.ParseExact(dateString, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);