【问题标题】:Fetch DayOfWeek value from asp label从 asp 标签中获取 DayOfWeek 值
【发布时间】:2019-03-26 14:16:47
【问题描述】:

我有一个 ASP 标签 lblweekoff.Text,它的值可以是任意 2 个工作日的组合,如 Sun、Sat/Sun、Mon/Mon、Tue 等,我想获得 2 个工作日拆分的 DayOfWeek 值通过逗号检查日期文本框 txtdate.Text。

例如,

假设我有以下标签值

lblweekoff.Text = "Sun,Sat";
txtDate.Text = "30/3/2019";
var dayColumns = new[] { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
DateTime weekday = Convert.ToDateTime(lblweekoff.Text);
var weekoff = dayColumns[(int)weekday.DayOfWeek];
DateTime Date = Convert.ToDateTime(txtDate.Text);
if(Date.DayOfWeek == weekoff)
{
    //some code
}
else
{
    //some code
}

所以我想检查在文本框txtDate.Text 上选择的日期的DayOfWeek 是否等于两个DayOfWeeks 值之一,用逗号分隔Sun,Sat,如标签lblweekoff.Text 所示并据此继续进行。

我怎样才能完成这项工作?感谢任何帮助,在此先感谢。

【问题讨论】:

  • 标签不是输入控件,它们显示您告诉它们的内容。这意味着您已经知道日期、日期值是什么。不要将您已经知道的日期转换为字符串,然后尝试取回日期,而是使用DateTime.ToString() 从这些日期创建字符串,例如DateTime.Today.ToString("ddd")var date1=DateTime.Today.AddDays(3); txtDate.Text=date1.ToString("d")
  • 您通常根据某个值设置标签 - 使用该值。

标签: c# asp.net datetime


【解决方案1】:

我已经把所有控件都转成字符串了,你需要再把它改成你的控件。

    string lblweekoff = "Sun,Sat";
    string txtDate = "30/Mar/2019"; // you might need to format this date 

    var dayColumns = new[] { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
    var offDay = lblweekoff.Split(',').ToList();
    DateTime Date = Convert.ToDateTime(txtDate);
    if (offDay.Contains(Date.ToString("ddd")))// weekend
    {
        //some code
    }
    else
    {
        //some code
    }

【讨论】:

  • DayOfWeek 枚举中的枚举未本地化。而ToString() 是。
【解决方案2】:

首先,我不太明白您的要求,但这里有一些对您有用的东西。

你今天可以得到:

string day = DateTime.Today.DayOfWeek.ToString();
lblweekoff.Text = day;

最后你可以随机选择另一个,

Random rnd = new Random();
int day2= rnd.Next(0, 6);
lblweekoff.Text =lblweekoff.Text + ","+dayColumns[rnd];

希望对你有帮助

【讨论】:

  • I didn't quite get what you are asking 如果您不理解,则不应提出答案-这可能会导致 OP 走向错误的方向和错误的解决方案。您的答案是一个示例,因为 OP 没有询问如何将星期几转换为字符串,而是相反 - 从字符串中获取星期几。
【解决方案3】:
        string lblweekoff = "Sun,Sat";
        string txtDate = "3/30/2019";// need format "m/dd/yyyy"
        var dayColumns = new[] { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
        List<string> weekday = lblweekoff.Split(',').ToList();
        if( dayColumns.Contains(Convert.ToDateTime(txtDate).ToString("ddd")))
        {

        }

【讨论】:

    猜你喜欢
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-08
    • 1970-01-01
    • 2013-04-28
    • 2013-10-29
    • 1970-01-01
    相关资源
    最近更新 更多