2011-05-23 50 views
7

我目前使用以下行:將周圍的日期和時間的報價,C#

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

,並讓輸出,如:

05/23/2011,14:24:54 

我需要的是周圍的日期和時間報價,輸出應該是這樣的:

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

關於如何「分手」日期時間,並獲得每個派CE?

回答

5

嘗試String.Format

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

就是這樣!謝謝你,先生! – FluxEngine 2011-05-23 20:31:13

0

以下的版本,但很明顯,將無法正常工作:

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

這將輸出:

MM/DD/YYYY,HH:MM:SS

所以不要這樣做。

+0

這是我的第一個猜測,但似乎並不奏效。 – ashelvey 2011-05-23 20:24:51

+0

我剛試過,輸出結果是; MM/dd/yyyy,HH:mm:ss – FluxEngine 2011-05-23 20:27:39

+0

@ashelvey @ user630581 - 我用這些信息更新了我的答案。 – 2011-05-23 20:48:23

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

作品就好了。可能不是最好的方式

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); 
+0

按照OP,缺少逗號周圍的引號。 – 2011-05-23 20:35:19

+0

@Forgotten,謝謝錯過Q.的更新 – JaredPar 2011-05-23 20:36:51

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或數字格式字符串介紹了引入字面雙引號(")或撇號(')的文字文字。嵌入式文字引號/撇號必須平衡—它們充當格式字符串中的嵌入引號字符串文字。要得到雙引號或撇號,需要在前面加上反斜槓。

John Sheehan's formatting cheatsheets記錄下此...功能,但只要我可以告訴大家,在CLR文檔(而且一直)不正確WRT這樣的:自定義日期/時間和數字格式字符串的文件只是說,「 [任何其他字符]將被複制到結果字符串中。「

相關問題