私はデータベースからタイムスタンプを設定するために使用しているこのプロパティを持っています。DateTimeにミリ秒を含める方法
using (SQLiteConnection con = new SQLiteConnection(builder.ConnectionString))
{
con.Open();
string stm = @"Select * From Messages m join MessageDetails md on m.MessageID = md.MessageID GROUP BY m.MessageID";
using (SQLiteCommand cmd = new SQLiteCommand(stm, con))
{
using (SQLiteDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
MessageDetails detail = new MessageDetails { MessageID = rdr.GetString(0), TimeStamp = rdr.GetDateTime(1), StoreNumber = rdr.GetString(2), TerminalNumber = rdr.GetInt32(3) };
ViewModel.MetricsResult.Add(detail);
}
}
}
この部分は、別のクラスからのもので、次のように
string format = "dd/MM/yyyy HH:mm:ss.ff";
/// <summary>
/// Gets the DateTime data and converts it to UTC
/// </summary>
public DateTime TimeStamp
{
get
{
return _TimeStamp.ToLocalTime();
}
set
{
if (_TimeStamp != null)
{
_TimeStamp = value;
}
}
}
私は私のdatabseから物事を取得していますどのようにです。
データベースは、曜日、日、4桁の年を含むタイムスタンプを吐き出し、時間(hh)、分(mm)、秒(ss)を表示します。しかし、ミリ秒も含めたいと思います。
DateTimeを文字列に変換する必要がありますか?または、そうする方法があり、それでもすべてをDateTimeとして保持していますか?
MillisecondsでDateTimeを表示するには、このプロパティ内で何をする必要がありますか?事前に多くの感謝。
問題は、あなたが私たちに示したコードとは無関係で、データベースからどのように取得しているのか - 私たちには示されていません。 (個人的には、現地時間に変換することを控えるようにアドバイスしたいと思います。特に、一方向でしかできないようですが、それは別の問題です)。質問を明確にしてください。 –
質問を明確にする必要があります。しかし、いくつかの部分に答えるために、 'DateTime'構造体は[Tick'](https://msdn.microsoft.com/en-us/library/system.datetime.ticks(v = vs.110) ).aspx#備考)は100ナノ秒に等しい。 milli秒を表示するには[カスタム時刻形式fff]を使用します(https://docs.microsoft.com/en-us/dotnet/standard/base-types/custom-date-and-time-format-strings#the -fff-カスタム形式指定子)。そしてJonが指摘したように、あなたの問題には、DateTimeをDBに格納し、C#AppとDBの間で前後に移すことも含まれます。 – Vikhram