C# 将时间转换为军事

C# 将时间转换为军事,c#,datetime,C#,Datetime,试图将格式为“mm/dd/yyyy hh:mm:ss PM”的日期转换为军用时间,以下行值替换似乎不需要。尽管我确信我以前做过(使用列值而不是日期)。在这种情况下,行[“adate”]不接受分配给它的值是有原因的吗 DateTime oos = DateTime.Parse(row["adate"].ToString()); row["adate"] = oos.Month.ToString() + "/" + oos.Day.To

试图将格式为
“mm/dd/yyyy hh:mm:ss PM”
的日期转换为军用时间,以下行值替换似乎不需要。尽管我确信我以前做过(使用列值而不是日期)。在这种情况下,
行[“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");
另外,您所说的“不接受价值”是什么意思?你有例外吗?如果是,错误消息是什么?

如果您有时间:07:12:02PM,并且您想要时间:19:12:02PM,那么这就是您的代码

在C#>=6.0中,如果需要在日期周围添加内容,也可以使用字符串插值。比如:

row[“adate”]=“S:{StartDateTime:yyyy-MM-dd HH:MM:ss}”;
简单的方法是

bool timeConversion = DateTime.TryParse(s,out DateTime time);

if(timeConversion)
{
return time.Tostring("HH:mm:ss");
}
这里要小心写“HH”


row[“adate”]=oos.ToString(“MM/dd/YYYY HH:MM”)
可能是better@PhilipFourie:row[“adate”].Text=oos.ToString(“MM/dd/YYYY HH:MM”)将其作为答案发布,并获得一些声誉:)什么是
?顺便说一句,您可以使用这个:
oos.ToString(“M'/'d'/'yyyy H:M”)为了教育程度较低的人。。。请你在这个问题上加上半句话,用技术术语描述什么是“军事时间”?呃,没关系,这个问题已经很老了,但是由于新的答案,它被推到了顶部。是的,所有发布他们的MM/dd/yyyy解决方案的人也应该去看看,看看MM和M之间的区别
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);
    }
}
bool timeConversion = DateTime.TryParse(s,out DateTime time);

if(timeConversion)
{
return time.Tostring("HH:mm:ss");
}