简体   繁体   English

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

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

I have issue that I cant solve.我有我无法解决的问题。 I am trying to add minutes and subtract minutes.我正在尝试添加分钟和减去分钟。 basically be in that 30 minutes block range.基本上在那个 30 分钟的块范围内。 However, in my code below I am trying to get my key value and add 30 minutes but for some reason AddMinutes gives an error:但是,在我下面的代码中,我试图获取我的键值并添加 30 分钟但由于某种原因AddMinutes给出了一个错误:

Cannot resolve symbol AddMinutes.无法解析符号 AddMinutes。

here is my code:这是我的代码:

                  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)))  

You are using AddMinutes() method to the JToken type object.您正在对JToken类型对象使用AddMinutes()方法。 AddMinutes only works with DateTime. AddMinutes 仅适用于 DateTime。

DateTime.Parse("dateInStringFormat") will parse the string to DateTime format.. to which you can then add Minutes to. DateTime.Parse("dateInStringFormat")将字符串解析为 DateTime 格式..然后您可以向其中添加分钟。

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

This is probably because data["ScheduleStartTime"] is not an instance of DateTime , since JSON has no built in representation of dates or times.这可能是因为data["ScheduleStartTime"]不是DateTime的实例,因为 JSON 没有内置的日期或时间表示。 What is most likely is data["ScheduleStartTime"] is an ISO 8601 date represented as a string, in which case you should parse it before comparing it to DateTime.Now :最有可能的是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