繁体   English   中英

在 C# 中将分钟添加到日期时间时无法解析符号?

[英]cannot resolve symbol when adding minutes into date time in c#?

我有我无法解决的问题。 我正在尝试添加分钟和减去分钟。 基本上在那个 30 分钟的块范围内。 但是,在我下面的代码中,我试图获取我的键值并添加 30 分钟但由于某种原因AddMinutes给出了一个错误:

无法解析符号 AddMinutes。

这是我的代码:

                  var results = JsonConvert.DeserializeObject<dynamic>(barCodeValue);
              var gettingTheName = (string) results.Evaluation.Value;
              TextHeader.text = gettingTheName;
              var qrCodeString = $"https://**************.firebaseio.com/Evaluations/.json?orderBy=\"$key\"&startAt=\"{gettingTheName}\"&limitToFirst=1";
              var matchingsLink = new WebClient().DownloadString(qrCodeString);
              var objs = JObject.Parse(matchingsLink);
              var someId = objs.First.First["Active"].ToString();
              var data = objs[gettingTheName];

              try
               {

                    if (!((bool)data["Active"] == false && (bool)data["Completed"] &&    
                        DateTime.Now < data["ScheduleStartTime"].AddMinutes(30) &&
                        DateTime.Now > data["ScheduleStartTime"].AddMinutes(-30)))  

您正在对JToken类型对象使用AddMinutes()方法。 AddMinutes 仅适用于 DateTime。

DateTime.Parse("dateInStringFormat")将字符串解析为 DateTime 格式..然后您可以向其中添加分钟。

   DateTime.Now < DateTime.Parse(data["ScheduleStartTime"].ToString()).AddMinutes(30) &&
       DateTime.Now > DateTime.Parse(data["ScheduleStartTime"].StoString()).AddMinutes(-30))) 

这可能是因为data["ScheduleStartTime"]不是DateTime的实例,因为 JSON 没有内置的日期或时间表示。 最有可能的是data["ScheduleStartTime"]是表示为字符串的ISO 8601日期,在这种情况下,您应该在将其与DateTime.Now进行比较之前对其进行解析:

// ...

var scheduleStartTime = DateTime.Parse(data["ScheduleStartTime"].ToString());

if (!((bool)data["Active"] == false && (bool)data["Completed"] &&    
                        DateTime.Now < scheduleStartTime.AddMinutes(30) &&
                        DateTime.Now > scheduleStartTime.AddMinutes(-30)))

// ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM