我在数据表的列中存储了以下字符串,其中 varchar 或字符串数据类型为“4/29/2013 9:00:00 PM”
现在我想将此字符串转换为日期时间
或者让我更清楚一点,我只想从这个字符串“4/29/2013 9:00:00 PM”中提取时间部分并将其存储在数据库中。请帮我。提前致谢
// 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);
这应该适合你。
好的,这是一个相当简单的操作,您可以使用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”表格。
DateTime yourDateTime = DateTime.ParseExact(dateString, "MM/dd/yyyy HH:mm:ss tt", CultureInfo.InvariantCulture);
尝试这个 :
string myDateTimeString = "4/29/2013 9:00:00 PM";
DateTime myDateTime = DateTime.Parse(myDateTimeString);
string myTimeString = myDateTime.Date.ToString("hh:mm tt");
希望这可以帮助!
或者试试这个分机:
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);
}
}
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