0
            string val;
            val = Request.Form["timerData"].ToString();            
            TimeSpan ts = TimeSpan.FromMilliseconds(Convert.ToInt32(val.ToString()));
            lbTime.Text = ts.ToString();
  • ここで lbTime.Text は、時間の値を 00:44:50 形式で返します。

  • 私のSqlデータベースでは、時間にTime(7)データ型を使用しており、その
    デフォルト値は('00:00:00.0000000')です

  • この形式 00:44:50 を ('00:44:50.240000') に変換し、update ステートメントを使用してデータベースに入力します。

上記の時間は例です

同じことで私を助けてください。

4

4 に答える 4

1

update ステートメントがパラメーター化されているか、ストアド プロシージャを使用している場合、a を列に渡すと問題なく動作するはずTimeSpantime(7)です。このようなもの:

public static void UpdateTimestamp( int id , TimeSpan ts )
{
  using ( SqlConnection connection = new SqlConnection( "some-connect-string" ) )
  using ( SqlCommand    command    = connection.CreateCommand() )
  {
    command.CommandText = "update foo set duration = @duration where id = @id" ;

    command.Parameters.AddWithValue( "@id"       , id ) ;
    command.Parameters.AddWithValue( "@duration" , ts ) ;

    connection.Open() ;
    int rowsAffected = command.ExecuteNonQuery() ;
    connection.Close() ;

    if ( rowsAffected == 0 ) throw new InvalidOperationException( "That didn't work B^(" ) ;
    if ( rowsAffected >  0 ) throw new InvalidOperationException( "That shouldn't have happend B^(" ) ;

  }

  return ;

}
于 2012-08-20T20:35:31.760 に答える
0

最後の表情で君は言う

ts.ToString()

このオーバーロードは、すべての桁がゼロでない場合、小数秒のみを表示します。次のように、カスタム フォーマット文字列を使用することもできます。

ts.ToString(@"hh\:mm\:ss\.fffffff")

代わりは。これは、.NET 4.5 および 4.0 で動作するはずです。MSDN: カスタム TimeSpan フォーマット文字列を参照してください。

于 2012-08-20T21:17:13.470 に答える
0

次のいずれかを試してください。

DateTime date1 = new DateTime(2008, 8, 29, 19, 27, 15, 18);
CultureInfo ci = CultureInfo.InvariantCulture;

Console.WriteLine(date1.ToString("hh:mm:ss.f", ci));
// Displays 07:27:15.0
Console.WriteLine(date1.ToString("hh:mm:ss.F", ci));
// Displays 07:27:15
Console.WriteLine(date1.ToString("hh:mm:ss.ff", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.FF", ci));
// Displays 07:27:15.01
Console.WriteLine(date1.ToString("hh:mm:ss.fff", ci));
// Displays 07:27:15.018
Console.WriteLine(date1.ToString("hh:mm:ss.FFF", ci));
// Displays 07:27:15.018

秒の端数の最上位7桁までを表すために、さらに 'FFFFF' を使用することもできます。

出典: http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

それは役に立ちますか?

于 2012-08-20T20:18:44.830 に答える