DS1307 Формат времени
- Войдите на сайт для отправки комментариев
Сб, 23/07/2016 - 17:06
Доброго времени суток!
Столкнулся с проблемой, что при выводе времени, формат не тот что хотелось бы.
Библиотека #include "RTClib.h"
Выводит "23.7.2016 17:22:57", что не соответствует формату "dd.mm.YYYY hh:mm:ss"
Понятно, можно городить, проверять на количество символов и добавлять на перед '0', но это как то......
Есть ли готовая функция для форматирования времени ?
Пример кода.
#include "RTClib.h" void setup() { Serial.begin(SerialBod); } void loop() { Serial.println((String)now.day() + "." + (String)now.month() + "." + (String)now.year() + " " + (String)now.hour() + ":" + (String)now.minute() + ":" + (String)now.second()); }
Выводит "23.7.2016 17:22:57", что не соответствует формату "dd.mm.YYYY hh:mm:ss"
а, должно соответствовать?
юзай так - корона не спадёт:
Доброго времени суток!
Столкнулся с проблемой, что при выводе времени, формат не тот что хотелось бы.
Библиотека #include "RTClib.h"
Выводит "23.7.2016 17:22:57", что не соответствует формату "dd.mm.YYYY hh:mm:ss"
Понятно, можно городить, проверять на количество символов и добавлять на перед '0', но это как то......
Есть ли готовая функция для форматирования времени ?
Пример кода.
А где библиотека выводит? Я вижу, что Вы сами выводите.
А по поводу формата, Вы printf умеете пользоваться? Если умеете, то берите printf и пользуйтесь - http://arduino.ru/forum/programmirovanie/formatirovannyi-vyvod-v-serial
Выводит "23.7.2016 17:22:57", что не соответствует формату "dd.mm.YYYY hh:mm:ss"
а, должно соответствовать?
юзай так - корона не спадёт:
Ну как бы хотелось бы.
Почему разработсики, так сделали, не понимяю.
Доброго времени суток!
Столкнулся с проблемой, что при выводе времени, формат не тот что хотелось бы.
Библиотека #include "RTClib.h"
Выводит "23.7.2016 17:22:57", что не соответствует формату "dd.mm.YYYY hh:mm:ss"
Понятно, можно городить, проверять на количество символов и добавлять на перед '0', но это как то......
Есть ли готовая функция для форматирования времени ?
Пример кода.
А где библиотека выводит? Я вижу, что Вы сами выводите.
А по поводу формата, Вы printf умеете пользоваться? Если умеете, то берите printf и пользуйтесь - http://arduino.ru/forum/programmirovanie/formatirovannyi-vyvod-v-serial
Ну да, часть кода отсутсвует, но это....
printf конечно хорошо, но если мы объявляем DateTime now = rtc.now();
То, подумал, что можно и формат настроить.
Почему разработсики, так сделали, не понимяю.
Какие "разработсики"?
Строку
кто написал? Вы или "разработсики"?
Напишите по-другому, будет выводить по-другому. Как? Я Вам писал выше.
Почему разработсики, так сделали, не понимяю.
Какие "разработсики"?
Строку
кто написал? Вы или "разработсики"?
Напишите по-другому, будет выводить по-другому. Как? Я Вам писал выше.
к примеру, в методе *.day() выводит однозначное чесло, если < 10. А могло быть и допустим, 09.
Метод day возвращает число. А в строку его преобразуете Вы сами! Авторы быбилотеку вообще никак в строки не преобразуют.
Почему разработсики, так сделали, не понимяю.
ок. давай разберёмся, что сделали и чего не сделали разработчики.
разработчики тебе сделали функцию возврата секунд, минут, часов, дней месяца, месяца и года в виде чисел.
*здесь внимательно.
разработчики тебе не сделали вывод в виде строки, нужного тебе формата.
вопрос:
откуда разработчикам знать, какой формат строки тебе нужен?
почему именно dd.mm.YYYY hh:mm:ss, а не YYYY.MM.DD hh:mm:ss или YY.M.D h:m:s или как-то иначе?
откуда разработчикам знать, что ты собрался делать с
Метод day возвращает число. А в строку его преобразуете Вы сами! Авторы быбилотеку вообще никак в строки не преобразуют.
Хорошо, в класе DateTime есть преобразование форматов ?
к примеру, в методе *.day() выводит однозначное чесло, если < 10. А могло быть и допустим, 09.
Не могли бы.
Для числа типа int единтвенный возможный вариант в предложенном Вами стиле это "+00009", но никак не "09".
Для других типов вид будет другим, т.е. число 9 будет выводиться столькими разными способами, сколько существует типов данных. Вы считаете, что именно так должно быть?
Почему разработсики, так сделали, не понимяю.
ок. давай разберёмся, что сделали и чего не сделали разработчики.
разработчики тебе сделали функцию возврата секунд, минут, часов, дней месяца, месяца и года в виде чисел.
*здесь внимательно.
разработчики тебе не сделали вывод в виде строки, нужного тебе формата.
вопрос:
откуда разработчикам знать, какой формат строки тебе нужен?
почему именно dd.mm.YYYY hh:mm:ss, а не YYYY.MM.DD hh:mm:ss или YY.M.D h:m:s или как-то иначе?
откуда разработчикам знать, что ты собрался делать с
Да, не сделали. Была другая библиотека, где, была функчия getDateTime и она выводила именно строку, в нужном мне формате, но к сожалению, она не коректно работает с другими библиотеками.
к примеру, в методе *.day() выводит однозначное чесло, если < 10. А могло быть и допустим, 09.
Не могли бы.
Для числа типа int единтвенный возможный вариант в предложенном Вами стиле это "+00009", но никак не "09".
Для других типов вид будет другим, т.е. число 9 будет выводиться столькими разными способами, сколько существует типов данных. Вы считаете, что именно так должно быть?
Хорошо, есть функция, в данной библиотеке, которая возращает стринг ? С полной датой ?
DateTime есть преобразование форматов ?
Классов с таким названием, как кучек за баней. Вот в этом - нет, а какой Вы используете, я не знаю.
Да, не сделали. Была другая библиотека, где, была функчия getDateTime и она выводила именно строку, в нужном мне формате, но к сожалению, она не коректно работает с другими библиотеками.
так, кто тебе запрещает самому написать нужную функцию возврата строки?
Хорошо, есть функция, в данной библиотеке, которая возращает стринг ? С полной датой ?
В какой "данной"? Их чертова уйма разных. В той, что у меня - нет, я Вам уже писал. А в Вашей - смотрите сами.
Короче, сделад мне нужный формат, но это +4% от памяти.
В нормальных языках программирования, DateTime можно создать формат.
DateTime есть преобразование форматов ?
Классов с таким названием, как кучек за баней. Вот в этом - нет, а какой Вы используете, я не знаю.
В первом посту было написано. "RTClib.h"
Да, не сделали. Была другая библиотека, где, была функчия getDateTime и она выводила именно строку, в нужном мне формате, но к сожалению, она не коректно работает с другими библиотеками.
так, кто тебе запрещает самому написать нужную функцию возврата строки?
Никто не запрещает, был вопрос, предусмотре но ли библиотекой установки формата
Хорошо, есть функция, в данной библиотеке, которая возращает стринг ? С полной датой ?
Про данную - не знаю, но IMHO это вредная функция. Если бы я писал библиотеку, то такую функцию делать не стал бы.
Короче, сделад мне нужный формат, но это +4% от памяти.
А если бы это было в библиотеке, то было бы +20% по сравнению с тем, что есть в библиотеке сейчас. Потому и вредная.
В первом посту было написано. "RTClib.h"
Алексей, я Вам уже два раза говорил - библиотек с название RTCLib МНОГО. Я не экстрасенс и какой именно Вы пользуетесь не знаю. Вы же сылку на неё не давали!
А вообще. я не понимаю, что мы обсуждаем? Что разработчики козлы? Ну. если Вам от этого легче пусть будут козлами. Дальше-то что? Просто берите printf и печатайте что Вам надо и как Вам надо.
Хорошо, есть функция, в данной библиотеке, которая возращает стринг ? С полной датой ?
Про данную - не знаю, но IMHO это вредная функция. Если бы я писал библиотеку, то такую функцию делать не стал бы.
Короче, сделад мне нужный формат, но это +4% от памяти.
А если бы это было в библиотеке, то было бы +20% по сравнению с тем, что есть в библиотеке сейчас. Потому и вредная.
Может и вредная, но не лишняя, по крайней мере для меня.
В нормальных языках программирования, DateTime можно создать формат.
а, ты сейчас на каком ненормальном языке код написал?
Никто не запрещает, был вопрос, предусмотре но ли библиотекой установки формата
Так это был просто вопрос?
Ну, тогда встречный вопрос: а кто запрещал просто глянуть в библиотеку что в ней есть, а чего нет, вместо того чтобы тут дискуссию на сотню постов разводить? :))))
В первом посту было написано. "RTClib.h"
Алексей, я Вам уже два раза говорил - библиотек с название RTCLib МНОГО. Я не экстрасенс и какой именно Вы пользуетесь не знаю. Вы же сылку на неё не давали!
А вообще. я не понимаю, что мы обсуждаем? Что разработчики козлы? Ну. если Вам от этого легче пусть будут козлами. Дальше-то что? Просто берите printf и печатайте что Вам надо и как Вам надо.
Я даже не продпологал, что с название RTCLib несколько. Была ло этого с названием DS1307 все хорошо, но с 24С32 не работала.
Ну не то что бы козлы. Ну...
В общем спасибо за помощь.
Ну, тогда встречный вопрос: а кто запрещал просто глянуть в библиотеку что в ней есть, а чего нет, вместо того чтобы тут дискуссию на сотню постов разводить? :))))
я запретил.
В нормальных языках программирования, DateTime можно создать формат.
Да, неужели? Существуют такие языки в которых есть DateTime???? Видать, я сильно отстал от жизни. Не поделитесь информацией, что это за языки такие?
Ну, тогда встречный вопрос: а кто запрещал просто глянуть в библиотеку что в ней есть, а чего нет, вместо того чтобы тут дискуссию на сотню постов разводить? :))))
я запретил.
И что дальше 7
В нормальных языках программирования, DateTime можно создать формат.
Да, неужели? Существуют такие языки в которых есть DateTime???? Видать, я сильно отстал от жизни. Не поделитесь информацией, что это за языки такие?
Та понятно что есть во многих, но как по мне с++ єто что то странное.
Ну, тогда встречный вопрос: а кто запрещал просто глянуть в библиотеку что в ней есть, а чего нет, вместо того чтобы тут дискуссию на сотню постов разводить? :))))
я запретил.
И что дальше 7
всё - ты мой раб.
Ну, тогда встречный вопрос: а кто запрещал просто глянуть в библиотеку что в ней есть, а чего нет, вместо того чтобы тут дискуссию на сотню постов разводить? :))))
я запретил.
И что дальше 7
всё - ты мой раб.
Опять ты. Не надоело ?
всё - ты мой раб.
Опять ты. Не надоело ?
Ну ты попа-а-ал!
Ну, тогда встречный вопрос: а кто запрещал просто глянуть в библиотеку что в ней есть, а чего нет, вместо того чтобы тут дискуссию на сотню постов разводить? :))))
я запретил.
И что дальше 7
всё - ты мой раб.
Опять ты. Не надоело ?
ты снова делаешь ошибку, как и с претензией к разработчикам библиотеки - надоело мне что?
Ну, тогда встречный вопрос: а кто запрещал просто глянуть в библиотеку что в ней есть, а чего нет, вместо того чтобы тут дискуссию на сотню постов разводить? :))))
я запретил.
И что дальше 7
всё - ты мой раб.
Опять ты. Не надоело ?
ты снова делаешь ошибку, как и с претензией к разработчикам библиотеки - надоело мне что?
Ну и какую ошибку ?
Людей задалбывать.
Ведь многим так отвечаешь, не понимаю, зачем тратишь свое время.
Ну, тогда встречный вопрос: а кто запрещал просто глянуть в библиотеку что в ней есть, а чего нет, вместо того чтобы тут дискуссию на сотню постов разводить? :))))
я запретил.
И что дальше 7
всё - ты мой раб.
Опять ты. Не надоело ?
ты снова делаешь ошибку, как и с претензией к разработчикам библиотеки - надоело мне что?
Ну и какую ошибку ?
Людей задалбывать.
Ведь многим так отвечаешь, не понимаю, зачем тратишь свое время.
твоя ошибка в том, что ты не можешь признать свои ошибки.
задалбывать упоротых навичков - моя дефолтная функция в период простоя.
ты можешь купить моё время, если оно для тебя представляет какую-то ценность.
Ну, тогда встречный вопрос: а кто запрещал просто глянуть в библиотеку что в ней есть, а чего нет, вместо того чтобы тут дискуссию на сотню постов разводить? :))))
я запретил.
И что дальше 7
всё - ты мой раб.
Опять ты. Не надоело ?
ты снова делаешь ошибку, как и с претензией к разработчикам библиотеки - надоело мне что?
Ну и какую ошибку ?
Людей задалбывать.
Ведь многим так отвечаешь, не понимаю, зачем тратишь свое время.
твоя ошибка в том, что ты не можешь признать свои ошибки.
задалбывать упоротых навичков - моя дефолтная функция в период простоя.
ты можешь купить моё время, если оно для тебя представляет какую-то ценность.
Да, ошибка моя в том, ято не совсем правильно сформулировал вопрос. И что теперь, на кол сажать ?
Судя по постам, так простой постоянный. И будь так добр, или по делу, или не задалбывай людей.
Видимо только этим и занимаешься.
Да пожалуй откажусь. Была бы польза, а так.
Да, ошибка моя в том, ято не совсем правильно сформулировал вопрос. И что теперь, на кол сажать ?
пруф, где я тебя на кол посадил?
или просто согласись, что поленился смотреть исходники библиотеки, протупил назвав 09 числом, усугубил необоснованной претензией к С++ и ко мне лично.
Та понятно что есть во многих, но как по мне с++ єто что то странное.
Блин, ну я же просил Вас поделиться информацией, Вам жалко? ну, назовите хоть парочку языков программирования в которых имеется DateTime, ... ну, хоть один назовите? Жалко что ли?
Да, ошибка моя в том, ято не совсем правильно сформулировал вопрос. И что теперь, на кол сажать ?
пруф, где я тебя на кол посадил?
или просто согласись, что поленился смотреть исходники библиотеки, протупил назвав 09 числом, усугубил необоснованной претензией к С++ и ко мне лично.
Не надо придиратся к словам. Было понятно, что имелось в веду.
Ну у меня к с++ свои притензии. Взять даже тот вывод строки.
как на C#
Ка на Java
Конечно, на вкус и цвет... Но еще много чего не объяснимого.
К тебе лично..
Во первых, почему на ТЫ общаешься ?
Во вторых, что это за предъява "всё - ты мой раб." ?
В третих, ответы не по делу.
Если нечем занятся, то пожалуйста, не задалбывай людей.
Та понятно что есть во многих, но как по мне с++ єто что то странное.
Блин, ну я же просил Вас поделиться информацией, Вам жалко? ну, назовите хоть парочку языков программирования в которых имеется DateTime, ... ну, хоть один назовите? Жалко что ли?
Структура DateTime, допустим в C#.
Во первых, почему на ТЫ общаешься ?
Во вторых, что это за предъява "всё - ты мой раб." ?
В третих, ответы не по делу.
Если нечем занятся, то пожалуйста, не задалбывай людей.
1. сколько тебе лет, мальчик, что тебе это важно?
2. это не предъява, а факт, что у тебя нет чувства юмора.
3. здрасти, приехали, а это #8 что за нах? ты после более, чем исчерпывающего ответа, начинаешь какую-то чушь пороть и путаться, на кого первого обижаться - на С++, разрабов или меня.
нет, уж - тебе народ сделал одолжение, популярно объяснив, где ты тупишь, а ты вместо благодарности, какие-то обидки строишь.
Структура DateTime, допустим в C#.
Как Вы думаете, если я напишу на каком-нибудь языке (например, на BrainFuck) функцию, которая считает дату пасхи по году, будет ли это означать, что в языке есть функция вычисления даты Пасхи?
Вот Вам полный текст стандарта C# - найдите там хоть какое-то упоминание о DateTime.
Открою Вам страшный секрет - в С# нет никакого DateTime, как нет его и в С++ и вообще ни в одном языке программирования. Нечто подобное есть в ECMAScript, но оно по-другому называется (просто Date).
То, что Вы видите - это просто программы (классы, библиотеки и т.п.) написанные на этом языке. К самому языку они имеют не большее отношение, чем программа вычисления даты Пасхи.
Ну у меня к с++ свои притензии. Взять даже тот вывод строки.
Вы чем-то напоминаете Шарикова с его рассуждениями об Энегльсе и Каутском.
Чтобы иметь претензии к языку - его надо, для начала, знать. А Вы сегодня весь вечер несете какую-то ахинею и даже в этом крохотном примере из десяти символов умудрились сделать ошибку (найдите сами). Т.е. языка Вы не знаете.
Если у Вас есть вопросы, спрашивайте - Вам ответят, а делать глобальные заявления о своих претензиях к вещам о которых Вы ничего не знаете - не стоит, Вы очень смешно выглядите.
Во первых, почему на ТЫ общаешься ?
Во вторых, что это за предъява "всё - ты мой раб." ?
В третих, ответы не по делу.
Если нечем занятся, то пожалуйста, не задалбывай людей.
1. сколько тебе лет, мальчик, что тебе это важно?
2. это не предъява, а факт, что у тебя нет чувства юмора.
3. здрасти, приехали, а это #8 что за нах? ты после более, чем исчерпывающего ответа, начинаешь какую-то чушь пороть и путаться, на кого первого обижаться - на С++, разрабов или меня.
нет, уж - тебе народ сделал одолжение, популярно объяснив, где ты тупишь, а ты вместо благодарности, какие-то обидки строишь.
Чего ты переходишь на личности ?
Тебя не должно волновать сколько мне лет. Абсолютно.
Какой юмор так и воспринимаю.
Главный вопрос был "Есть ли готовая функция для форматирования времени ?"
Если не сделали, хорошо. Молодци.
Ругаться можно долго, но это бесполезно.
Главный вопрос был "Есть ли готовая функция для форматирования времени ?"
есть в некоторых библиотеках D:
Главный вопрос был "Есть ли готовая функция для форматирования времени ?"
есть в некоторых библиотеках D:
А ты себя адекватно ведешь ?
Ну.. 12 и 24 формат.. Сам понимаешь, что не єтого хотел.
Хорошо, допустим так.
Ну.. 12 и 24 формат.. Сам понимаешь что не єтого хотел.
ок. ещё раз, я выделю вопрос жирным шрифтом, а ты его перечитай не менее 50-ти раз и ответь мне один раз.
итак, сосредоточь всю свою мыслительную мосч:
откуда, разработчики могут узнать, что тебе желается, вместо чисел, получить строку именно того формата, кторый нужен тебе?
Хорошо, допустим так.
суть понятна - ты желаешь библиотеку исполнения желаний.
внимательно жрущим попкорн, информация к размышлению https://ru.wikipedia.org/wiki/ISO_8601
* The interchange parties shall agree the additional number of digits in the time element year.
«Expressions of the difference between local time and UTC of day are a component in the representations defined in 4.2.5.2; they shall not be used as self-standing expressions»
(перевод: «Разница между местным временем и UTC являются компонентом представления времени и не должна использоваться в качестве самостоятельного выражения»).
Маске \+\d{4,} кроме +hhmm (4.2.5) соответствует формат даты +YYY (4.1.2.4 p. d).
Ну.. 12 и 24 формат.. Сам понимаешь что не єтого хотел.
ок. ещё раз, я выделю вопрос жирным шрифтом, а ты его перечитай не менее 50-ти раз и ответь мне один раз.
итак, сосредоточь всю свою мыслительную мосч:
откуда, разработчики могут узнать, что тебе желается, вместо чисел, получить строку именно того формата, кторый нужен тебе?
Хорошо, допустим так.
суть понятна - ты желаешь библиотеку исполнения желаний.
Ну во превых, не указывай мне.
В вторых, я думаю все понятно.
Если тебя смущает именно то, что в строке, а не в другом типе данных.
то пусть, будет так,
str = now.getDateTime_str(
"dd.mm.YYYY hh:mm:ss"
);
И метод принимает аргументы именно в строке. А не как иначе.
Хотя, это в прочем не аргумент.
Если бы хотел получить в целочисленном формате, допустим месяц, то это может быть другой метод.
Сам формат, тоже указан, как хочешь, так и меняй местами.
А если ты имеешь введу, что зачем метод, который будет возращать именно в строке, ну я не знаю, что тебе ответить.
внимательно жрущим попкорн, информация к размышлению https://ru.wikipedia.org/wiki/ISO_8601
И что мне это дает ?
то пусть, будет так,
str = now.getDateTime_str(
"dd.mm.YYYY hh:mm:ss"
);
ок. пусть будет - делай.
Хорошо, допустим так.
Алексей, мы тут не на взрослых компах, а под МК прошивки пишем. Ты представляешь, сколько сожрёт функция, которую ты захотел? Это, по-минимуму - разбор переданного формата строки, некислый такой конечный автомат. Плюс - вывод этого гамна в буфер, в который точно всё поместится (т.е. этот буфер надо тоже будет откуда-то взять).
И получишь ты по итогу не +4% к памяти, а все +24% - оно надо? Не проще ли самому как нужно вывести? Это на больших компах мегабайт туда, мегабайт сюда - а и хрен с ним, не жалко, а тут, сам понимаешь - нету их, ресурсов таких.