2010-03-10 84 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}"; 
相关问题