【问题标题】:using a substring on a C# aspx page在 C# aspx 页面上使用子字符串
【发布时间】:2014-02-24 08:50:39
【问题描述】:

我正在尝试使用子字符串来获取我的 aspx 母版页上日期的特定部分。我需要这个的原因与我下载的模板和它背后的 css 有关。这是我得到的代码:

<span><%= DateTime.Today.ToString("M").Substring(3), ((int)(DateTime.Today.ToString("M").Length) - 2) %></span>

我需要将当前月份分开,以便前 3 个字符在第一个跨度中,其余的在第二个跨度中。我需要减去 2 的原因是因为它会在之后添加月份中的某一天。

提前感谢您的帮助。

【问题讨论】:

  • 为什么不直接使用标签!?
  • 对不起,我可能没有完全解释清楚。让我向您展示它的所有代码: ,
  • 我不想使用标签,因为我正在使用特定的 css 来为响应式网站以不同的方式显示它。

标签: c# asp.net substring


【解决方案1】:

首先你应该使用正确的格式字符串。

这将为您提供月份的缩写(Jan、Feb、Mar 等)

<%= DateTime.Today.ToString("MMM") %>

这将为您提供完整的月份名称

<%= DateTime.Today.ToString("MMMM") %>

然后你可以在这些上做子字符串而不用担心解析一天。

类似:

// You can create the variable here, in the code behind, or just use a repeated
// call instead of assigning it a variable.
<% var month = DateTime.Today.ToString("MMMM"); %>

<%= DateTime.Today.ToString("MMM") %>

<%= month.Substring(3, month.Length - 3) %>

"MMM" 不应返回超过 3 个字符(至少在 en-us 中),但如果您不想硬编码 3,可以将其替换为“MMM”调用的长度。

请参阅此 MSDN Custom Date and Time Formatting 文章。

【讨论】:

  • 谢谢,但我正在尝试使用子字符串在月底结束。我在一个地方有“Jan”,在另一个地方有“uary”。
  • 感谢您整整一个月,我确实尝试解析它,看看它是否有效,但它没有,不知道为什么,但它仍然显示当月的日期。跨度>
【解决方案2】:

您只需制作两个单独的代码块:

<span><%= DateTime.Today.ToString("MMM") %>,</span> 
<span><%= DateTime.Today.ToString("dd") </span>

【讨论】:

  • 为什么会被否决?似乎有人随机投票否决答案。
  • @Pedro.The.Kid,原来的答案与现在完全不同。 5 分钟后我的投票被锁定。如果贾斯汀再次编辑他的答案,我将能够将其删除。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多