This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm that you accept these cookies being set.

Subtract 30 minutes from time value - 2021-05-12T19:30:00
#1
Hi

I receive time values from an API in the following format

2021-05-12T19:30:00

How can I subtract 30 minutes from the time (and also correct for date for when I receive midnight value?)

Many thanks in advance

James
Reply
#2
Use this:
Code:
123456789101112131415
str = '2021-06-01T00:00:00' date = {} -- assign table keys for further conversion date.year, date.month, date.day, date.hour, date.min, date.sec =   str:match('(%d+)-(%d+)-(%d+)T(%d+):(%d+):(%d+)') -- convert to unix timestamp and subtract 30 minutes in seconds timestamp = os.time(date) - 30 * 60 -- convert timestamp to table date = os.date('*t', timestamp) log(date)
Reply
#3
Hi

This seems to return the date as a table.

Code:
12345678910111213141516171819
* table: [sec]   * number: 0 [min]   * number: 0 [day]   * number: 12 [isdst]   * bool: false [wday]   * number: 4 [yday]   * number: 132 [year]   * number: 2021 [month]   * number: 5 [hour]   * number: 19


How can I convert this back to a string in the same format as the original time (ie: 2021-05-12T19:30:00 > 2021-05-12T19:00:00)?

Many thanks
James
Reply
#4
Code:
1234567891011121314
str = '2021-06-01T00:00:00' date = {} -- assign table keys for further conversion date.year, date.month, date.day, date.hour, date.min, date.sec =   str:match('(%d+)-(%d+)-(%d+)T(%d+):(%d+):(%d+)') -- convert to unix timestamp and subtract 30 minutes in seconds timestamp = os.time(date) - 30 * 60 -- convert timestamp to string result = os.date('%Y-%m-%dT%H:%M:%S', timestamp) log(result)
Reply
#5
This worked perfectly! Many thanks
Reply


Forum Jump: