将时间转换为军事

时间:2010-03-10 13:13:59

标签: c# datetime

也许我正在看东西..

为了将格式为"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();

6 个答案:

答案 0 :(得分:22)

不应手动格式化字符串,而应使用:

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

另外,“不接受价值”是什么意思?你有例外吗?如果是,那么错误信息是什么?

答案 1 :(得分:4)

答案 2 :(得分:3)

尝试

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

答案 3 :(得分: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);
    }
}

答案 4 :(得分:0)

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

If Not IsNull({yourTable.InvNo}) Then
    If IsNumeric(Replace({yourTable.InvNo}, "R","")) Then
        ToNumber(Replace({yourTable.InvNo}, "R",""))
    Else
        -1
Else
    -1

答案 5 :(得分:0)

简单的方法是

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

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

这里要小心写“ HH”