2016-09-23 9 views
2

こんにちは私はボットステートサービスでStateClientを使用してこの(2016-09-23T18:38:41)フォーマットのような現在の日付を保存しています。ここで問題を直面しているときに私はGetProperty()メソッドを使用して値を取得したいときにSetProperty()メソッドを使用して日付の値を保存しているときに間違った日付形式を与える(1/1/0001 12時00分: 00 AM)。上記の概念については は、私がここにコードを入力 私のプロジェクトでは、コードの以下の行を書いたボットステートクリートを使用してデータを保存する方法

var result = new ValidateResult { IsValid = true, Value = message.Text }; 
DateTime? dt = DateTime.ParseExact(message.Text, "dd/MM/yyyy",  CultureInfo.InvariantCulture); 
       if (dt.Value.Date < DateTime.Now.Date) 
       { 
        await context.PostAsync("**Please enter a valid date like in the format DD/MM/YYY**" + " \r \n "); 
        result.IsValid = false; 
       } 
    else 
     { 
        TimeSpan ts = new TimeSpan(DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second); 
        dt = dt.Value.Date + ts; 
        d = dt.Value.Date + ts; 
        result.Value = dt; 

     //saving the date format using SetProperty() using StateClient and BotData 
        BotData userData = await stateClient.BotState.GetUserDataAsync(message.ChannelId, message.From.Id); 
        userData.SetProperty<DateTime?>("dt", dt);-->Here i am saving the date format like (2016-09-23T18:38:41) 
        await stateClient.BotState.SetUserDataAsync(message.ChannelId, message.From.Id, userData); 
        await context.PostAsync("user message"); 
       } 



    //Getting the data using GetProperty() using BotData 
     BotData userData = await stateClient.BotState.GetUserDataAsync   (message.ChannelId, message.From.Id); 
     var date= userData.GetProperty<DateTime>("dt");-->here i am getting the date format is like(1/1/0001 12:00:00 AM) 

私の上記のコードでは問題が何であるかをしてくださいTEL私を、私はそれを解決する方法について説明します。

答えて

0

ユーザーボットデータバッグGetUserDataAsyncおよびSetUserDataAsync操作で一貫性のある(message.ChannelId、message.From.Id)を使用していない可能性が高く、DateTimeは値型なのでGetPropertyはデフォルト(DateTime)値。

関連する問題