Borrar filtros
Borrar filtros

4 Day temperature comparison, including current day

1 visualización (últimos 30 días)
Mark Clark
Mark Clark el 5 de Feb. de 2019
Editada: Yair Altman el 6 de Feb. de 2019
How can I include the current day in the 3 day temperature comparison.
[datetime('today')-days(0),datetime('today')], gives an error
  6 comentarios
Mark Clark
Mark Clark el 5 de Feb. de 2019
'DateRange' value must have an end date and time later than the start date and time.
Error message when I use [datetime('today')-days(0),datetime('today')]
Guillaume
Guillaume el 5 de Feb. de 2019
Is that the full text of the error message. Usually it also states which line(s) is responsible for the error. This is essential information we need, particularly since I cannot see anywhere in your code where you use [datetime('today')-days(0),datetime('today')].
On the other hand the error message is clear. The two dates you pass must be different, with the second one later than the first. Of course, subtracting 0 days from a date doesn't change that data, so [datetime('today')-days(0),datetime('today')] is twice the same date.
It's unclear what you expected to do with that.

Iniciar sesión para comentar.

Respuesta aceptada

Omer Yasin Birey
Omer Yasin Birey el 5 de Feb. de 2019
Editada: Omer Yasin Birey el 5 de Feb. de 2019
You can try to use the last minute of the current day, since it says starting date must be before than ending date
todayDate = datetime('today');
todayDate = todayDate + minutes(1439);
[datetime('today')-days(0),todayDate]
  4 comentarios
Guillaume
Guillaume el 6 de Feb. de 2019
Well ok, it does create a datetime with a different display format. If that's the whole purpose of subtracting 0, then I would say it's a bad idea. First, you're relying on undocumented behaviour, so that may change in a future release without notice. Secondly, if you want a specific format you'd be better be explicit about the format you want. So even though, 'Format', 'dd, MMM, yyyy HH:mm:ss' might be longer, it's at least very clear what the intent of the code is. Subtracting 0 just to alter the format, with no comment explaining what the purpose is, is just asking for a bug to be introduced later on when a different maintainer notice that 0 subtraction and remove it.
In this particular case, where the array is just passed to another function, the format does not matter at all.
Yair Altman
Yair Altman el 6 de Feb. de 2019
Editada: Yair Altman el 6 de Feb. de 2019
I echo Guillaume's comment.
However, just for the record, it is typically faster to subtract a pure number rather than days(number). For example,
datetime('today')-1
is faster than
datetime('today')-days(1)
and yet has the same meaning/result. Just note that days(1) might be more readable.

Iniciar sesión para comentar.

Más respuestas (3)

KSSV
KSSV el 5 de Feb. de 2019
thedates = (datetime('today')-days(3):datetime('today'))'

Mark Clark
Mark Clark el 6 de Feb. de 2019
This is what Im trying to do. The today trace in the graph below.
CaptureAGT.PNG

Mark Clark
Mark Clark el 6 de Feb. de 2019
See https://thingspeak.com/channels/569794

Comunidades de usuarios

Más respuestas en  ThingSpeak Community

Categorías

Más información sobre Read Data from Channel en Help Center y File Exchange.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by