将时间转换为军事
也许我正在看东西..
为了将格式为"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();
您应该使用以下命令而不是手动格式化字符串:
oos.ToString("M/d/yyyy HH:mm");
另外,“不接受价值”是什么意思? 你有例外吗? 如果是,那么错误信息是什么?
除了第一个答案,请检查:
http://msdn.microsoft.com/en-us/library/az4se3k1.aspx
http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
尝试
row["adate"].Text = oos.ToString("MM/dd/YYYY HH:mm");
如果你有这个时间: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); } }
在C#> = 6.0中,如果需要在日期周围添加内容,也可以使用字符串插值。 就像是:
row["adate"] = $"S: {StartDateTime:yyyy-MM-dd HH:mm:ss}";