次の文字列をデータテーブルの列に格納し、varchar または文字列データ型 "4/29/2013 9:00:00 PM" を使用しています。
今、この文字列を日時に変換したい
または、この文字列「2013/4/29 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);
これはあなたのために働くはずです。
わかりましたので、これは非常に単純な操作であり、使用して、時刻と AM/PM だけを取得するためにDateTime date = DateTime.Parse(dbString)
使用できます。date.ToString("hh:mm tt")
「09:00 PM」の形式で
「hh」は 01 から 12 までの時間を表し、
「mm」は 00 から 59 までの分を表し、
「tt」は午前/午後を表します
date.ToString("h:mm tt")
「9:00 PM」というフォームを取得するために使用することもできます。
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
または、次の拡張機能を試してください:
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);
}
}
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");
お役に立てれば!