0@0 0@0 147 0@0 201 377 0@0 root 2 f53cd6bc-6449-46a0-bcfe-938e471e3d70 LibraryGroup-Time,Date,Count LibraryGroup-Time LibraryGroup-Date 0@-96 4 1 130@0 150@0 corner: 249.0d@140 130@0 corner: 294.0d@140 177.0d@13.5d En 130@30 144@30 DateCalc bb1110e3-dd7f-4798-b893-375062c74122 Разрешение работы 34db743e-16ee-48ea-9a18-d9c469b29076 D_in 6d48545e-45ed-4faf-9f50-db97fd400a61 День 6a53aa9b-7b5c-4d01-9e3c-3ba52a6dbbd8 M_in 98a59474-94b5-4ead-86ca-480242090640 Месяц 000f01de-ba91-4ada-9345-2a84e5956279 Y_in 60c093f7-37ff-4506-a864-18c057b67dc7 Год 9f94ac68-60b4-4b89-8c76-bbaf68881cce AddDay 482fc71b-36b9-4678-a586-55727b849278 Добавить дней 5da1aad4-ffa7-4fcc-ba7c-e85ff681e11e D_out 7d1bce42-bd19-4a6c-830a-68d5e850eec1 36d7f430-ca3e-41ab-8a73-754c97721034 M_out 4308fd30-1e96-4cc5-aac8-00e896ae06da f64c0462-d980-4b87-9834-ff4d95b63750 Y_out 7a7896d8-08b9-4962-a743-c8fa07c0f4eb 6981d847-ce7d-4931-b20e-1bd6c0f0f8c1 ceadbee0-7ebb-4269-95cf-673d34c16bb3 DateCalc If (En) { DateTime dt_in (Y_in, M_in, D_in, 0, 0, 0); DateTime dt_out (dt_in.unixtime() + AddDay*86400L); // some day later D_out=dt.day(); M_out=dt.month(); Y_out=dt.year(); } 181 #include DateTime.h 130@20 corner: 144@40 2016 130@50 150@50 104.0d@53.5d 130@40 corner: 150@60 130@70 150@70 122.0d@73.5d 130@60 corner: 150@80 28 130@90 150@90 116.0d@93.5d 130@80 corner: 150@100 Add_Days -3 130@110 150@110 119.0d@113.5d 130@100 corner: 150@120 Add_Weeks 130@130 150@130 124.0d@133.5d 2ffd293c-42fc-42bc-a98c-dd56cf2bc1fc Добавить недель 9521bfcb-2bef-4179-994d-403e3f0127d1 9b5a47af-b77a-4290-b7b5-7e13a3064d63 if (En) { DateTime dt_in (Y_in, M_in, D_in, 0, 0, 0); DateTime dt_out (dt_in.unixtime() + Add_Day*86400L+Add_Weeks*7*86400L); // some day later D_out=dt_out.day(); M_out=dt_out.month(); Y_out=dt_out.year(); } 213 #include <DateTime.h> 130@120 corner: 150@140 7 300@60 320@60 corner: 408.0d@140 300@60 corner: 428.0d@140 325.0d@73.5d 300@80 corner: 320@100 32.0d 249.0d@110 269.0d@110 269.0d@110 corner: 269.0d@110 Month 300@110 320@110 HH,MM=Minutes HH fd61734a-f802-45e0-a820-5a46baa34266 1b1cbb60-e790-4194-b958-9a05f050d450 MM b6e308de-7ae8-4f2d-a431-697818c7cc87 34e1026d-3edc-40f6-bb19-15c060511388 Minutes 4846e016-14e5-4b9b-a1d4-229aad343b15 b4c5c448-393d-40dc-bc99-a17dfbd90427 a6550480-7ca1-4699-85e0-0e9363ed5731 Часы, минуты =>минуты hhmm_minutes(); 15 Minutes = HH * 60 + MM; 25 void hhmm_minutes 11a1ab15-6562-42aa-b1c6-9e7006f7b161 300@100 corner: 320@120 30.0d 249.0d@130 269.0d@130 269.0d@130 corner: 269.0d@130 Day 300@130 320@130 Y,M,D=Count Year 9562a01d-6c4c-400a-8c96-663d8e3e5ed2 a8419e94-cf55-4b20-baf0-6833c333ee44 2206945b-3db8-45fc-84c6-6f6e9eed5e22 count_YMD b1ffe99b-cf24-403d-b183-655395ed1151 92e0c6d8-a569-49e0-99ab-e9f2381991b7 Год, месяц, день =>дата числом Год, месяц, день - одним числом. (20161122) rw6cm 50 ymd_Count(); 12 count_YMD = Year * 10000 + Month * 100 + Day; 47 void ymd_Count a5394c26-df1c-4671-abbb-b302c9fffc81 300@120 corner: 320@140 6 470@80 490@80 corner: 570@140 470@80 corner: 590@140 496.5d@93.5d send 470@110 484@110 470@100 corner: 484@120 470@120 corner: 490@140 470@130 0 9600 398@558 70975375 398@538 36119198 change 1000 D 490@130 428.0d@130 corner: 428.0d@130 DATA 30.0d 408.0d@130 428.0d@130 408.0d@120 corner: 428.0d@140 300@90 DMY=0D/0M/0Y 1e2ab35d-f610-4029-8196-b6c5a72292c4 День, месяц, год =>дата строкой с нулями День, месяц, год -> строкой с нулями. в формате ДД.ММ.ГГ (02.01.16). Знак раздела меняется в настройке блока. rw6cm 22.11.16 126 zR . знак раздела ., /, -, итд c8dfac01-b3eb-4f23-ac9f-4657ec31b96c 2369dd50-cafd-44de-af13-7c2dcd39f8be DATA = (String( Day / 10 )) + (String( Day % 10)) + (String( zR )) + (String( Month / 10 )) + (String( Month % 10 )) + (String( zR )) + (String(((((float)Year / 100.0) - floor(Year / 100)) * 100 ),0)); 207 88.0d 320@90 269.0d@90 corner: 269.0d@90 31.0d 249.0d@90 269.0d@90 249.0d@80 corner: 269.0d@100 249.0d@100 corner: 269.0d@120 249.0d@120 corner: 269.0d@140 3124f4cf-3465-455f-ad40-6ad2099d3747 Блок для сложения/вычитания из даты дней или недель Используется библиотека https://github.com/CircuitGrove/DateTime Входы блока: En - разрешение работы блока Y_in - Входящий год M_in - Входящий месяц D_In - Входящий день Add_Days - Количество дней которое нужно прибавить к входящей дате (может быть отрицательным) Add_Weeks - Количество недель которое нужно прибавить к входящей дате (может быть отрицательным) Выходы блока: Y_out - Вычисленный год M_out - Вычисленный месяц D_out - Вычисленный день AlexCrane, 2019 520 if (En) { DateTime dt_in (Y_in, M_in, D_in, 0, 0, 0); DateTime dt_out (dt_in.unixtime() + Add_Days*86400L+Add_Weeks*7*86400L); // some day later D_out=dt_out.day(); M_out=dt_out.month(); Y_out=dt_out.year(); } 214 99.0d 230 (0 to: 230) arduinoIDE 129 1024 42049819 Arduino Uno 142360727