在没有[可选]小数秒的情况下,ISO-8601表示是否有“short [er]”格式说明符?
即,给定
var n = DateTimeOffset.Now;
// short "s" format - 2014-02-14T10:41:49
n.ToString("s")
// short "o" format - 2014-02-14T10:41:49.7200222-08:00
n.ToString("o")
// desired output
// custom format - 2014-02-14T10:41:49-08:30
n.ToString("yyyy-MM-ddTHH:mm:sszzz")
最后一种情况是否有“short [er]”格式说明符?
上下文澄清:我主要使用string.Format
格式,其中长格式可以快速混淆格式字符串。
答案 0 :(得分:2)
对不起,第一次误解了这个问题。恕我直言,扩展方法将是最好的:
class Program {
static void Main() {
Console.WriteLine(DateTimeOffset.Now.ToCustomString());
}
}
static class DateHelper {
public static string ToCustomString(this DateTimeOffset time) {
return time.ToString("yyyy-MM-ddTHH:mm:sszzz");
}
}
如果您需要在具有多个替换字段的较长字符串中使用它,请查看custom format providers。