0

我在数据表的列中存储了以下字符串,其中 varchar 或字符串数​​据类型为“4/29/2013 9:00:00 PM”

现在我想将此字符串转换为日期时间

或者让我更清楚一点,我只想从这个字符串“4/29/2013 9:00:00 PM”中提取时间部分并将其存储在数据库中。请帮我。提前致谢

4

6 回答 6

4
 // String to DateTime
 String MyString;
 MyString = "4/29/2013 9:00:00 PM";

 DateTime MyDateTime;
 MyDateTime = new DateTime();
 MyDateTime = DateTime.ParseExact(MyString, "M/dd/yyyy hh:mm:ss tt",
                                  null);

这应该适合你。

于 2013-04-29T09:54:09.663 回答
1

好的,这是一个相当简单的操作,您可以使用DateTime date = DateTime.Parse(dbString)然后使用date.ToString("hh:mm tt")来获取时间和 AM/PM。以“09:00 PM”的形式

'hh' 代表 01 到 12 小时,

'mm' 代表分钟 00 到 59,

“tt”代表上午/下午

您还可以使用date.ToString("h:mm tt")获取“9:00 PM”表格。

于 2013-04-29T09:51:13.073 回答
0
DateTime yourDateTime = DateTime.ParseExact(dateString, "MM/dd/yyyy HH:mm:ss tt", CultureInfo.InvariantCulture);
于 2013-04-29T09:53:26.577 回答
0

尝试这个 :

    string myDateTimeString = "4/29/2013 9:00:00 PM";
    DateTime myDateTime = DateTime.Parse(myDateTimeString);
    string myTimeString = myDateTime.Date.ToString("hh:mm tt");

希望这可以帮助!

于 2013-04-29T09:53:40.910 回答
0

或者试试这个分机:

public static class Ext
{

    public static string AsLocaleDateString(this DateTime dt)
    {
        var format = Thread.CurrentThread.CurrentUICulture.DateTimeFormat;

        return dt.ToString(format.ShortDatePattern);
    }

    public static DateTime? AsLocaleDate(this string str)
    {
        if (str.IsNullEmpty())
        {
            return null;
        }
        var format = Thread.CurrentThread.CurrentUICulture.DateTimeFormat;

        return DateTime.ParseExact(str, format.ShortDatePattern, CultureInfo.InvariantCulture, DateTimeStyles.None);
    }

}
于 2013-04-29T10:39:15.783 回答
0

SQL中字符串的时间部分:

select  DATEPART(HOUR , cast('4/29/2013 9:00:00 PM' as datetime) ) as hr
      , DATEPART(MINUTE , cast('4/29/2013 9:00:00 PM' as datetime) ) as minute
      , DATEPART(SECOND , cast('4/29/2013 9:00:00 PM' as datetime) ) as sec
于 2013-04-29T09:55:42.690 回答