【问题标题】:Date With Endings [duplicate]结束日期[重复]
【发布时间】:2013-11-26 10:08:05
【问题描述】:

我正在尝试获取当前日期,该日期适用于我目前拥有的代码:

else if (e.KeyCode == Keys.Enter && InputTextbox.Text == "date")            
{
    OutputTextbox.Text = "Today is " + DateTime.Now.Date.ToString("dd");
    pBuilder.ClearContent();
    pBuilder.AppendText(OutputTextbox.Text);
    sSynth.Speak(pBuilder);
    e.SuppressKeyPress = true;
    InputTextbox.Text = ""; 
}

这给了我一个数字的日期(即:26)。

我已经对将“th”、“rd”和“nd”放在数字末尾的其他方法进行了一些研究,但是有没有办法在当前的“else if”语句中做到这一点我现在有(其他解决方案在单独的空间中)。

【问题讨论】:

标签: c# date


【解决方案1】:

考虑修改您的代码以包含以下 sn-p 代码...

string date = DateTime.Now.Date.ToString("dd");
    date = date + (date.EndsWith("11") 
                   ? "th"
                   : date.EndsWith("12")
                   ? "th"
                   : date.EndsWith("13")
                   ? "th"
                   : date.EndsWith("1") 
                   ? "st"
                   : date.EndsWith("2")
                   ? "nd"
                   : date.EndsWith("3")
                   ? "rd"
                   : "th");

祝你好运!

【讨论】:

  • +1 我真的不知道怎么用? : 语法.. 比我的更好的解决方案! :)
  • 谢谢!我也喜欢你的。不同的方法相同的解决方案;)
  • 是什么意思? : 那是 lambda 表达式吗?我想知道如何使用它。
  • 此答案在第 11、第 12 和第 13 次产生不正确的结果。
  • ?: 是 if else 的简写。以下链接应该解释...msdn.microsoft.com/en-us/library/vstudio/ty67wk28.aspx
猜你喜欢
  • 2014-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-30
  • 2015-07-03
相关资源
最近更新 更多