在日期和时间周围添加引号,c#

时间:2011-05-23 20:21:21

标签: c# .net datetime

我目前正在使用以下行:

w.Write(DateTime.Now.ToString("MM/dd/yyyy,HH:mm:ss"));

它的输出和输出如下:

05/23/2011,14:24:54

我需要的是关于日期和时间的引用,输出应该如下所示:

"05/23/2011","14:24:54"

有关如何“分解”日期时间的任何想法,并获得每件作品的报价?

6 个答案:

答案 0 :(得分:5)

尝试String.Format

w.Write(String.Format("\"{0:MM/dd/yyyy}\",\"{0:HH:mm:ss}\"", DateTime.Now));

答案 1 :(得分:4)

DateTime.Now.ToString("\\\"MM/dd/yyyy\\\",\\\"HH:mm:ss\\\"")

答案 2 :(得分:2)

这也可以解决问题。

  string format = @"{0:\""MM/dd/yyyy\"",\""HH:mm:ss\""}" ;
  string s = string.Format(format,DateTime.Now) ;

就像这样:

string format = @"{0:'\""'MM/dd/yyyy'\""','\""'HH:mm:ss'\""'}" ;
string s = string.Format(format,DateTime.Now) ;

和这个

string format = @"{0:""\""""MM/dd/yyyy""\"""",""\""""HH:mm:ss""\""""}" ;
string s = string.Format(format,DateTime.Now) ;

在DateTime或Numeric格式字符串中引入文字双引号(")或撇号(')会引入文字文本。嵌入的文字引号/撇号必须平衡 - 它们在格式字符串中充当嵌入的引用字符串文字。要获得双引号或撇号,需要先加上反斜杠。

John Sheehan's formatting cheatsheets记下了这个...功能,但就我所知,CLR文档是(并且一直都是)错误的WRT:自定义日期/时间和数字格式字符串的文档只是说“[任何其他字符]被复制到结果字符串不变。”。

答案 3 :(得分:0)

以下版本虽然显而易见,但不起作用:

w.Write(DateTime.Now.ToString("\"MM/dd/yyyy\",\"HH:mm:ss\"")); 

这将输出:

  

MM / dd / yyyy,HH:mm:ss

所以不要这样做。

答案 4 :(得分:0)

        string part1 = DateTime.Now.ToString("MM/dd/yyyy");
        string part2 = DateTime.Now.ToString("HH:mm:ss");
        Console.WriteLine("\""+part1+"\",\""+part2+"\"");

工作得很好。可能不是最好的方式

答案 5 :(得分:0)

我不确定w的类型,但如果它支持标准的Write重载集,则以下内容应该有效。

w.Write(@"""{0}""", DateTime.Now.ToString(@"MM/dd/yyyy"",""HH:mm:ss")));

如果没有,那么您可以执行以下操作

var msg = String.Format(@"""{0}""", DateTime.Now.ToString(@"MM/dd/yyyy"",""HH:mm:ss"))));
w.Write(msg);