2010-03-10 86 views
10

也許我看到的東西..轉換時間軍事

在試圖把一個日期的"mm/dd/yyyy hh:mm:ss PM"格式轉換成軍時,以下替換行值的似乎並沒有採取。儘管我確信我之前做過這些(列值不是日期)。在這種情況下, row["adate"]是否會接受分配給它的值?

DateTime oos = DateTime.Parse(row["adate"].ToString()); 

row["adate"] = oos.Month.ToString() 
       + "/" 
       + oos.Day.ToString() 
       + "/" 
       + oos.Year.ToString() 
       + " " 
       + oos.Hour.ToString() 
       + ":" 
       + oos.Minute.ToString(); 
+1

題外話:你可能想看看日期格式:http://msdn.microsoft.com/en-us/library/az4se3k1.aspx – dbemerlin 2010-03-10 13:21:51

+5

'行[「ADATE」 ] = oos.ToString(「MM/dd/YYYY HH:mm」)'可能會更好 – 2010-03-10 13:22:07

+0

@Philip Fourie:row [「adate」] .text = oos.ToString(「MM/dd/YYYY HH:mm」)發佈它作爲答案並獲得一些聲譽! :) – 2010-03-10 13:24:16

回答

21

除了手動格式化字符串,你應該使用:

oos.ToString("M/d/yyyy HH:mm"); 

另外,你是什麼意思的「不會接受價值」?你是否遇到異常?如果是這樣,那麼錯誤信息是什麼?

+0

謝謝! DateTime有一個格式很好的ToString。 – Chris 2010-03-10 15:26:13

3

嘗試

row["adate"].Text = oos.ToString("MM/dd/YYYY HH:mm"); 
0

如果您有這段時間:07:12:02 PM,你想要這個:19:12:02 PM,那麼這是你的代碼!

using System; 
using System.Collections.Generic; 
using System.IO; 
using System.Linq; 
class Solution { 

    static string timeConversion(string s) { 
     DateTime dateTime = DateTime.ParseExact(s, "hh:mm:sstt", 
     System.Globalization.CultureInfo.InvariantCulture); 

     return (dateTime.ToString("HH:mm:ss")); 
    } 

    static void Main(String[] args) { 
     string s = Console.ReadLine(); 
     string result = timeConversion(s); 
     Console.WriteLine(result); 
    } 
} 
0

在C#> = 6.0,你可以使用字符串插值以及如果你需要添加在你的日期東西。喜歡的東西:

row["adate"] = $"S: {StartDateTime:yyyy-MM-dd HH:mm:ss}"; 
相關問題