Bac*_*tnz 23 .net c# escaping date string-formatting
我正在格式化日期:
str = String.Format("{0:MMM d m:mm"+yearStr+"}", dt);
Run Code Online (Sandbox Code Playgroud)
我想在"d"之后加上"at"这个词,但我不希望字符串格式化它.我只想要"at"这个词.
我怎样才能做到这一点?
Mic*_*Liu 40
您可以使用引号括起文字字符串,对于较长的字符串,可能比使用反斜杠转义每个字符更容易,更易读:
str = String.Format("{0:MMM d 'at' m:mm"+yearStr+"}", dt);
Run Code Online (Sandbox Code Playgroud)
请参阅MSDN Library中的自定义日期和时间格式字符串(搜索"文字字符串分隔符").
(你的意思是h:mm代替m:mm吗?)
usr*_*usr 10
string.Format(@"{0:MMM d \a\t m:mm" + yearStr + "}", dt);
Run Code Online (Sandbox Code Playgroud)
注意双重转义 - 我使用了一个varbatim字符串,所以我能够\在字符串内部写为普通字符.然后格式化例程DateTime将此(再次)解释为转义序列.
这是一个更简单的变体:
string.Format("{0:MMM d} at {0:m:mm" + yearStr + "}", dt);
Run Code Online (Sandbox Code Playgroud)
第一种变体可能被一些人认为令人作呕.不过,后者很清楚.