DS1307 Формат времени

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Доброго времени суток! 

Столкнулся с проблемой, что при выводе времени, формат не тот что хотелось бы.

Библиотека #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());
}

 

 

 

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Zhigalo_Alexey пишет:

Выводит "23.7.2016 17:22:57", что не соответствует формату "dd.mm.YYYY hh:mm:ss"

а, должно соответствовать?

юзай так - корона не спадёт:

void printDigits(int digits){
  // utility function for digital clock display: prints preceding colon and leading 0
  Serial.print(":");
  if(digits < 10)
    Serial.print('0');
  Serial.print(digits);
}

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Zhigalo_Alexey пишет:

Доброго времени суток! 

Столкнулся с проблемой, что при выводе времени, формат не тот что хотелось бы.

Библиотека #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());
}

А где библиотека выводит? Я вижу, что Вы сами выводите.

А по поводу формата, Вы printf умеете пользоваться? Если умеете, то берите printf и пользуйтесь - http://arduino.ru/forum/programmirovanie/formatirovannyi-vyvod-v-serial

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Клапауций 232 пишет:

Zhigalo_Alexey пишет:

Выводит "23.7.2016 17:22:57", что не соответствует формату "dd.mm.YYYY hh:mm:ss"

а, должно соответствовать?

юзай так - корона не спадёт:

void printDigits(int digits){
  // utility function for digital clock display: prints preceding colon and leading 0
  Serial.print(":");
  if(digits < 10)
    Serial.print('0');
  Serial.print(digits);
}

 

Ну как бы хотелось бы. 

Почему разработсики, так сделали, не понимяю. 

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

ЕвгенийП пишет:

Zhigalo_Alexey пишет:

Доброго времени суток! 

Столкнулся с проблемой, что при выводе времени, формат не тот что хотелось бы.

Библиотека #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());
}

А где библиотека выводит? Я вижу, что Вы сами выводите.

А по поводу формата, Вы printf умеете пользоваться? Если умеете, то берите printf и пользуйтесь - http://arduino.ru/forum/programmirovanie/formatirovannyi-vyvod-v-serial

 

Ну да, часть кода отсутсвует, но это....

printf конечно хорошо, но если мы объявляем DateTime now = rtc.now();

То, подумал, что можно и формат настроить. 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Zhigalo_Alexey пишет:

Почему разработсики, так сделали, не понимяю. 

Какие "разработсики"?

Строку

Serial.println((String)now.day() + "." + (String)now.month() + "." +  (String)now.year() + " " + (String)now.hour() + ":" + (String)now.minute() + ":" + (String)now.second());

кто написал? Вы или "разработсики"?

Напишите по-другому, будет выводить по-другому. Как? Я Вам писал выше.

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

ЕвгенийП пишет:

Zhigalo_Alexey пишет:

Почему разработсики, так сделали, не понимяю. 

Какие "разработсики"?

Строку

Serial.println((String)now.day() + "." + (String)now.month() + "." +  (String)now.year() + " " + (String)now.hour() + ":" + (String)now.minute() + ":" + (String)now.second());

кто написал? Вы или "разработсики"?

Напишите по-другому, будет выводить по-другому. Как? Я Вам писал выше.

к примеру, в методе *.day() выводит однозначное чесло, если < 10. А могло быть и допустим, 09.

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Метод day возвращает число. А в строку его преобразуете Вы сами! Авторы быбилотеку вообще никак в строки не преобразуют.

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Zhigalo_Alexey пишет:

Почему разработсики, так сделали, не понимяю. 

ок. давай разберёмся, что сделали и чего не сделали разработчики.

разработчики тебе сделали функцию возврата секунд, минут, часов, дней месяца, месяца и года в виде чисел.

*здесь внимательно.

разработчики тебе не сделали вывод в виде строки, нужного тебе формата.

вопрос:

откуда разработчикам знать, какой формат строки тебе нужен?

почему именно dd.mm.YYYY hh:mm:ss, а не YYYY.MM.DD hh:mm:ss или YY.M.D h:m:s или как-то иначе?

откуда разработчикам знать, что ты собрался делать с 

hour()
minute()
second()
day()
weekday()
month()
year()
Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

ЕвгенийП пишет:

Метод day возвращает число. А в строку его преобразуете Вы сами! Авторы быбилотеку вообще никак в строки не преобразуют.

Хорошо, в класе DateTime есть преобразование форматов ? 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Zhigalo_Alexey пишет:

к примеру, в методе *.day() выводит однозначное чесло, если < 10. А могло быть и допустим, 09.

Не могли бы.

Для числа типа int единтвенный возможный вариант в предложенном Вами стиле это "+00009", но никак не "09".

Для других типов вид будет другим, т.е. число 9 будет выводиться столькими разными способами, сколько существует типов данных. Вы считаете, что именно так должно быть?

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Клапауций 232 пишет:

Zhigalo_Alexey пишет:

Почему разработсики, так сделали, не понимяю. 

ок. давай разберёмся, что сделали и чего не сделали разработчики.

разработчики тебе сделали функцию возврата секунд, минут, часов, дней месяца, месяца и года в виде чисел.

*здесь внимательно.

разработчики тебе не сделали вывод в виде строки, нужного тебе формата.

вопрос:

откуда разработчикам знать, какой формат строки тебе нужен?

почему именно dd.mm.YYYY hh:mm:ss, а не YYYY.MM.DD hh:mm:ss или YY.M.D h:m:s или как-то иначе?

откуда разработчикам знать, что ты собрался делать с 

hour()
minute()
second()
day()
weekday()
month()
year()

Да, не сделали. Была другая библиотека, где, была функчия getDateTime и она выводила именно строку, в нужном мне формате, но к сожалению, она не коректно работает с другими библиотеками.

 

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

andriano пишет:

Zhigalo_Alexey пишет:

к примеру, в методе *.day() выводит однозначное чесло, если < 10. А могло быть и допустим, 09.

Не могли бы.

Для числа типа int единтвенный возможный вариант в предложенном Вами стиле это "+00009", но никак не "09".

Для других типов вид будет другим, т.е. число 9 будет выводиться столькими разными способами, сколько существует типов данных. Вы считаете, что именно так должно быть?

Хорошо, есть функция, в данной библиотеке, которая возращает стринг ? С полной датой ?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Zhigalo_Alexey пишет:

DateTime есть преобразование форматов ? 

Классов с таким названием, как кучек за баней. Вот в этом - нет, а какой Вы используете, я не знаю.

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Zhigalo_Alexey пишет:

Да, не сделали. Была другая библиотека, где, была функчия getDateTime и она выводила именно строку, в нужном мне формате, но к сожалению, она не коректно работает с другими библиотеками.

так, кто тебе запрещает самому написать нужную функцию возврата строки?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Zhigalo_Alexey пишет:

Хорошо, есть функция, в данной библиотеке, которая возращает стринг ? С полной датой ?

В какой "данной"? Их чертова уйма разных. В той, что у меня - нет, я Вам уже писал. А в Вашей - смотрите сами.

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Короче, сделад мне нужный формат, но это +4% от памяти. 

DateTime now = rtc.now();
  char date_time[14];
  sprintf (date_time, "%02i.%02i.%04i %02i:%02i:%02i",now.day(), now.month(), now.year(), now.hour(), now.minute(), now.second());
  return date_time;

В нормальных языках программирования, DateTime можно создать формат. 

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

ЕвгенийП пишет:

Zhigalo_Alexey пишет:

DateTime есть преобразование форматов ? 

Классов с таким названием, как кучек за баней. Вот в этом - нет, а какой Вы используете, я не знаю.

В первом посту было написано.  "RTClib.h"

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Клапауций 232 пишет:

Zhigalo_Alexey пишет:

Да, не сделали. Была другая библиотека, где, была функчия getDateTime и она выводила именно строку, в нужном мне формате, но к сожалению, она не коректно работает с другими библиотеками.

так, кто тебе запрещает самому написать нужную функцию возврата строки?

Никто не запрещает, был вопрос, предусмотре но ли библиотекой установки формата

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Zhigalo_Alexey пишет:

Хорошо, есть функция, в данной библиотеке, которая возращает стринг ? С полной датой ?

Про данную - не знаю, но IMHO это вредная функция. Если бы я писал библиотеку, то такую функцию делать не стал бы.

Zhigalo_Alexey пишет:

Короче, сделад мне нужный формат, но это +4% от памяти. 

А если бы это было в библиотеке, то было бы +20% по сравнению с тем, что есть в библиотеке сейчас. Потому и вредная.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Zhigalo_Alexey пишет:

В первом посту было написано.  "RTClib.h"

Алексей, я Вам уже два раза говорил - библиотек с название RTCLib МНОГО. Я не экстрасенс и какой именно Вы пользуетесь не знаю. Вы же сылку на неё не давали!

А вообще. я не понимаю, что мы обсуждаем? Что разработчики козлы? Ну. если Вам от этого легче пусть будут козлами. Дальше-то что? Просто берите printf и печатайте что Вам надо и как Вам надо.

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

andriano пишет:

Zhigalo_Alexey пишет:

Хорошо, есть функция, в данной библиотеке, которая возращает стринг ? С полной датой ?

Про данную - не знаю, но IMHO это вредная функция. Если бы я писал библиотеку, то такую функцию делать не стал бы.

Zhigalo_Alexey пишет:

Короче, сделад мне нужный формат, но это +4% от памяти. 

А если бы это было в библиотеке, то было бы +20% по сравнению с тем, что есть в библиотеке сейчас. Потому и вредная.

Может и вредная, но не лишняя, по крайней мере для меня.

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Zhigalo_Alexey пишет:

В нормальных языках программирования, DateTime можно создать формат. 

а, ты сейчас на каком ненормальном языке код написал?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Zhigalo_Alexey пишет:

Никто не запрещает, был вопрос, предусмотре но ли библиотекой установки формата

Так это был просто вопрос?

Ну, тогда встречный вопрос: а кто запрещал просто глянуть в библиотеку что в ней есть, а чего нет, вместо того чтобы тут дискуссию на сотню постов разводить? :))))

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

ЕвгенийП пишет:

Zhigalo_Alexey пишет:

В первом посту было написано.  "RTClib.h"

Алексей, я Вам уже два раза говорил - библиотек с название RTCLib МНОГО. Я не экстрасенс и какой именно Вы пользуетесь не знаю. Вы же сылку на неё не давали!

А вообще. я не понимаю, что мы обсуждаем? Что разработчики козлы? Ну. если Вам от этого легче пусть будут козлами. Дальше-то что? Просто берите printf и печатайте что Вам надо и как Вам надо.

Я даже не продпологал, что  с название RTCLib несколько. Была ло этого с названием DS1307 все хорошо, но с 24С32 не работала.

Ну не то что бы козлы. Ну... 

В общем спасибо за помощь.

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

ЕвгенийП пишет:

Ну, тогда встречный вопрос: а кто запрещал просто глянуть в библиотеку что в ней есть, а чего нет, вместо того чтобы тут дискуссию на сотню постов разводить? :))))

я запретил.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Zhigalo_Alexey пишет:

В нормальных языках программирования, DateTime можно создать формат. 

Да, неужели? Существуют такие языки в которых есть DateTime???? Видать, я сильно отстал от жизни. Не поделитесь информацией, что это за языки такие?

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Клапауций 232 пишет:

ЕвгенийП пишет:

Ну, тогда встречный вопрос: а кто запрещал просто глянуть в библиотеку что в ней есть, а чего нет, вместо того чтобы тут дискуссию на сотню постов разводить? :))))

я запретил.

И что дальше 7 

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

ЕвгенийП пишет:

Zhigalo_Alexey пишет:

В нормальных языках программирования, DateTime можно создать формат. 

Да, неужели? Существуют такие языки в которых есть DateTime???? Видать, я сильно отстал от жизни. Не поделитесь информацией, что это за языки такие?

Та понятно что есть во многих, но как по мне с++ єто что то странное.

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Zhigalo_Alexey пишет:

Клапауций 232 пишет:

ЕвгенийП пишет:

Ну, тогда встречный вопрос: а кто запрещал просто глянуть в библиотеку что в ней есть, а чего нет, вместо того чтобы тут дискуссию на сотню постов разводить? :))))

я запретил.

И что дальше 7 

всё - ты мой раб.

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Клапауций 232 пишет:

Zhigalo_Alexey пишет:

Клапауций 232 пишет:

ЕвгенийП пишет:

Ну, тогда встречный вопрос: а кто запрещал просто глянуть в библиотеку что в ней есть, а чего нет, вместо того чтобы тут дискуссию на сотню постов разводить? :))))

я запретил.

И что дальше 7 

всё - ты мой раб.

Опять ты. Не надоело ? 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Zhigalo_Alexey пишет:

Клапауций 232 пишет:

всё - ты мой раб.

Опять ты. Не надоело ? 

Ну ты попа-а-ал!

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Zhigalo_Alexey пишет:

Клапауций 232 пишет:

Zhigalo_Alexey пишет:

Клапауций 232 пишет:

ЕвгенийП пишет:

Ну, тогда встречный вопрос: а кто запрещал просто глянуть в библиотеку что в ней есть, а чего нет, вместо того чтобы тут дискуссию на сотню постов разводить? :))))

я запретил.

И что дальше 7 

всё - ты мой раб.

Опять ты. Не надоело ? 

ты снова делаешь ошибку, как и с претензией к разработчикам библиотеки - надоело мне что?

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Клапауций 232 пишет:

Zhigalo_Alexey пишет:

Клапауций 232 пишет:

Zhigalo_Alexey пишет:

Клапауций 232 пишет:

ЕвгенийП пишет:

Ну, тогда встречный вопрос: а кто запрещал просто глянуть в библиотеку что в ней есть, а чего нет, вместо того чтобы тут дискуссию на сотню постов разводить? :))))

я запретил.

И что дальше 7 

всё - ты мой раб.

Опять ты. Не надоело ? 

ты снова делаешь ошибку, как и с претензией к разработчикам библиотеки - надоело мне что?

Ну и какую ошибку ? 

Людей задалбывать.

Ведь многим так отвечаешь, не понимаю, зачем тратишь свое время. 

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Zhigalo_Alexey пишет:

Клапауций 232 пишет:

Zhigalo_Alexey пишет:

Клапауций 232 пишет:

Zhigalo_Alexey пишет:

Клапауций 232 пишет:

ЕвгенийП пишет:

Ну, тогда встречный вопрос: а кто запрещал просто глянуть в библиотеку что в ней есть, а чего нет, вместо того чтобы тут дискуссию на сотню постов разводить? :))))

я запретил.

И что дальше 7 

всё - ты мой раб.

Опять ты. Не надоело ? 

ты снова делаешь ошибку, как и с претензией к разработчикам библиотеки - надоело мне что?

Ну и какую ошибку ? 

Людей задалбывать.

Ведь многим так отвечаешь, не понимаю, зачем тратишь свое время. 

твоя ошибка в том, что ты не можешь признать свои ошибки.

задалбывать упоротых навичков - моя дефолтная функция в период простоя.

ты можешь купить моё время, если оно для тебя представляет какую-то ценность.

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Клапауций 232 пишет:

Zhigalo_Alexey пишет:

Клапауций 232 пишет:

Zhigalo_Alexey пишет:

Клапауций 232 пишет:

Zhigalo_Alexey пишет:

Клапауций 232 пишет:

ЕвгенийП пишет:

Ну, тогда встречный вопрос: а кто запрещал просто глянуть в библиотеку что в ней есть, а чего нет, вместо того чтобы тут дискуссию на сотню постов разводить? :))))

я запретил.

И что дальше 7 

всё - ты мой раб.

Опять ты. Не надоело ? 

ты снова делаешь ошибку, как и с претензией к разработчикам библиотеки - надоело мне что?

Ну и какую ошибку ? 

Людей задалбывать.

Ведь многим так отвечаешь, не понимаю, зачем тратишь свое время. 

твоя ошибка в том, что ты не можешь признать свои ошибки.

задалбывать упоротых навичков - моя дефолтная функция в период простоя.

ты можешь купить моё время, если оно для тебя представляет какую-то ценность.

Да, ошибка моя в том, ято не совсем правильно сформулировал вопрос. И что теперь, на кол сажать ? 

Судя по постам, так простой постоянный. И будь так добр, или по делу, или не задалбывай людей. 

Видимо только этим и занимаешься. 

Да пожалуй откажусь. Была бы польза, а так. 

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Zhigalo_Alexey пишет:

Да, ошибка моя в том, ято не совсем правильно сформулировал вопрос. И что теперь, на кол сажать ? 

пруф, где я тебя на кол посадил?

или просто согласись, что поленился смотреть исходники библиотеки, протупил назвав 09 числом, усугубил необоснованной претензией к С++ и ко мне лично.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Zhigalo_Alexey пишет:

Та понятно что есть во многих, но как по мне с++ єто что то странное.

Блин, ну я же просил Вас поделиться информацией, Вам жалко? ну, назовите хоть парочку языков программирования в которых имеется DateTime, ... ну, хоть один назовите? Жалко что ли? 

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Клапауций 232 пишет:

Zhigalo_Alexey пишет:

Да, ошибка моя в том, ято не совсем правильно сформулировал вопрос. И что теперь, на кол сажать ? 

пруф, где я тебя на кол посадил?

или просто согласись, что поленился смотреть исходники библиотеки, протупил назвав 09 числом, усугубил необоснованной претензией к С++ и ко мне лично.

Не надо придиратся к словам. Было понятно, что имелось в веду. 

Ну у меня к с++ свои притензии. Взять даже тот вывод строки.

Cout<<str;

как на C#

Console.WriteLine(str);

Ка на Java

System.out.println(str);

Конечно, на вкус и цвет... Но еще много чего не объяснимого. 

 

К тебе лично..

Во первых, почему на ТЫ общаешься ? 

Во вторых,  что это за предъява "всё - ты мой раб." ?

В третих, ответы не по делу. 

Если нечем занятся, то пожалуйста, не задалбывай людей.

 

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

ЕвгенийП пишет:

Zhigalo_Alexey пишет:

Та понятно что есть во многих, но как по мне с++ єто что то странное.

Блин, ну я же просил Вас поделиться информацией, Вам жалко? ну, назовите хоть парочку языков программирования в которых имеется DateTime, ... ну, хоть один назовите? Жалко что ли? 

Структура DateTime, допустим в C#.

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Zhigalo_Alexey пишет:

Во первых, почему на ТЫ общаешься ? 

Во вторых,  что это за предъява "всё - ты мой раб." ?

В третих, ответы не по делу. 

Если нечем занятся, то пожалуйста, не задалбывай людей.

1. сколько тебе лет, мальчик, что тебе это важно?

2. это не предъява, а факт, что у тебя нет чувства юмора.

3. здрасти, приехали, а это #8 что за нах? ты после более, чем исчерпывающего ответа, начинаешь какую-то чушь пороть и путаться, на кого первого обижаться - на С++, разрабов или меня.

нет, уж - тебе народ сделал одолжение, популярно объяснив, где ты тупишь, а ты вместо благодарности, какие-то обидки строишь.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Zhigalo_Alexey пишет:

Структура DateTime, допустим в C#.

Как Вы думаете, если я напишу на каком-нибудь языке (например, на BrainFuck) функцию, которая считает дату пасхи по году, будет ли это означать, что в языке есть функция вычисления даты Пасхи?

Вот Вам полный текст стандарта C# - найдите там хоть какое-то упоминание о DateTime.

Открою Вам страшный секрет - в С# нет никакого DateTime, как нет его и в С++ и вообще ни в одном языке программирования. Нечто подобное есть в ECMAScript, но оно по-другому называется (просто Date).

То, что Вы видите - это просто программы (классы, библиотеки и т.п.) написанные на этом языке. К самому языку они имеют не большее отношение, чем программа вычисления даты Пасхи.

Zhigalo_Alexey пишет:

Ну у меня к с++ свои притензии. Взять даже тот вывод строки.

Cout<<str;

Вы чем-то напоминаете Шарикова с его рассуждениями об Энегльсе и Каутском.

Чтобы иметь претензии к языку - его надо, для начала, знать. А Вы сегодня весь вечер несете какую-то ахинею и даже в этом крохотном примере из десяти символов умудрились сделать ошибку (найдите сами). Т.е. языка Вы не знаете.

Если у Вас есть вопросы, спрашивайте - Вам ответят, а делать глобальные заявления о своих претензиях к вещам о которых Вы ничего не знаете - не стоит, Вы очень смешно выглядите.

 

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Клапауций 232 пишет:

Zhigalo_Alexey пишет:

Во первых, почему на ТЫ общаешься ? 

Во вторых,  что это за предъява "всё - ты мой раб." ?

В третих, ответы не по делу. 

Если нечем занятся, то пожалуйста, не задалбывай людей.

1. сколько тебе лет, мальчик, что тебе это важно?

2. это не предъява, а факт, что у тебя нет чувства юмора.

3. здрасти, приехали, а это #8 что за нах? ты после более, чем исчерпывающего ответа, начинаешь какую-то чушь пороть и путаться, на кого первого обижаться - на С++, разрабов или меня.

нет, уж - тебе народ сделал одолжение, популярно объяснив, где ты тупишь, а ты вместо благодарности, какие-то обидки строишь.

Чего ты переходишь на личности ? 

Тебя не должно волновать сколько мне лет. Абсолютно. 

Какой юмор так и воспринимаю. 

Главный вопрос был "Есть ли готовая функция для форматирования времени ?"

Если не сделали, хорошо. Молодци. 

Ругаться можно долго, но это бесполезно. 

 

 

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Zhigalo_Alexey пишет:

Чего ты переходишь на личности ? 
Тебя не должно волновать сколько мне лет. Абсолютно. 
 
пытаюсь выяснить, причину твоего неадекватного поведения.

Zhigalo_Alexey пишет:

Главный вопрос был "Есть ли готовая функция для форматирования времени ?"

есть в некоторых библиотеках D:

hourFormat12();    // the hour now in 12 hour format
isAM();            // returns true if time now is AM 
isPM();            // returns true if time now is PM
 
*очередной раз задаю тебе вопрос: откуда разработчикам знать, что тебе нужна именно текстовая строка нужного тебе вида, а не аудиофайл, картинко или что иное?
Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Клапауций 232 пишет:

Zhigalo_Alexey пишет:

Чего ты переходишь на личности ? 
Тебя не должно волновать сколько мне лет. Абсолютно. 
 
пытаюсь выяснить, причину твоего неадекватного поведения.

Zhigalo_Alexey пишет:

Главный вопрос был "Есть ли готовая функция для форматирования времени ?"

есть в некоторых библиотеках D:

hourFormat12();    // the hour now in 12 hour format
isAM();            // returns true if time now is AM 
isPM();            // returns true if time now is PM
 
*очередной раз задаю тебе вопрос: откуда разработчикам знать, что тебе нужна именно текстовая строка нужного тебе вида, а не аудиофайл, картинко или что иное?

А ты себя адекватно ведешь ? 

Ну.. 12 и 24 формат.. Сам понимаешь, что не єтого хотел.

Хорошо, допустим так.

DateTime now = rtc.now();

str = now.getDateTime("dd.mm.YYYY hh:mm:ss");

думаю суть понятна. 

 

 

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Zhigalo_Alexey пишет:

Ну.. 12 и 24 формат.. Сам понимаешь что не єтого хотел.

ок. ещё раз, я выделю вопрос жирным шрифтом, а ты его перечитай не менее 50-ти раз и ответь мне один раз.

итак, сосредоточь всю свою мыслительную мосч:

откуда, разработчики могут узнать, что тебе желается, вместо чисел, получить строку именно того формата, кторый нужен тебе?

Zhigalo_Alexey пишет:

Хорошо, допустим так.

DateTime now = rtc.now();

str = now.getDateTime("dd.mm.YYYY hh:mm:ss");

думаю суть понятна. 

суть понятна - ты желаешь библиотеку исполнения желаний.

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

внимательно жрущим попкорн, информация к размышлению https://ru.wikipedia.org/wiki/ISO_8601

Формат Пример Описание Примечание
YYYY-MM 2005-08 август 2005 года  
YYYYMMDD 20050809 9 августа 2005 года  
YYYY-MM-DD 2005-08-09 9 августа 2005 года  
hhmm 1831 18 часов 31 минута Маска формата времени hhmm (4.2.2.3 p. a) совпадает с сокращенным представлением даты YYYY (4.1.2.3 p. b) — \d{4}. Для избежания путаницы стандартом предложены две стратегии:
  • Явно обозначать локальное время, используя префикс T, например T1831 (4.2.2.5).
  • Использовать расширенное представление года ±YYYYY по условиям соглашения*, например +002005 (4.1.2.4 p. c).

* The interchange parties shall agree the additional number of digits in the time element year.

hh:mm 18:31 18 часов 31 минута  
hhmmss 183142 18 часов 31 минута 42 секунды  
hh:mm:ss 18:31:42 18 часов 31 минута 42 секунды  
±hh +03 UTC+03 часа В редакции ISO 8601:2004 отмечено:

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

-03 UTC-03 часа
±hhmm +0330 UTC+03 часа 30 минут
-0330 UTC-03 часа 30 минут
±hh:mm +03:30 UTC+03 часа 30 минут
-03:30 UTC-03 часа 30 минут
hhmmss±hh 183142+03 18 часов 31 минута 42 секундыUTC+03 часа  
183142-03 18 часов 31 минута 42 секундыUTC-03 часа  
hh:mm:ss±hh 18:31:42+03 18 часов 31 минута 42 секундыUTC+03 часа  
18:31:42-03 18 часов 31 минута 42 секундыUTC-03 часа  
hhmmss±hhmm 183142+0330 18 часов 31 минута 42 секундыUTC+03 часа 30 минут  
183142-0330 18 часов 31 минута 42 секундыUTC-03 часа 30 минут  
hh:mm:ss±hh:mm 18:31:42+03:30 18 часов 31 минута 42 секундыUTC+03 часа 30 минут  
18:31:42-03:30 18 часов 31 минута 42 секундыUTC-03 часа 30 минут  
YYYYMMDDThhmmss 20050809T183142 9 августа 2005 года 18 часов 31 минута 42 секунды  
YYYY-MM-DDThh:mm:ss 2005-08-09T18:31:42 9 августа 2005 года 18 часов 31 минута 42 секунды  
YYYYMMDDThhmmss±hh 20050809T183142+03 9 августа 2005 года 18 часов 31 минута 42 секундыUTC+03 часа  
20050809T183142-03 9 августа 2005 года 18 часов 31 минута 42 секундыUTC-03 часа  
YYYY-MM-DDThh:mm:ss±hh 2005-08-09T18:31:42+03 9 августа 2005 года 18 часов 31 минута 42 секундыUTC+03 часа  
2005-08-09T18:31:42-03 9 августа 2005 года 18 часов 31 минута 42 секундыUTC-03 часа  
YYYYMMDDThhmmss±hhmm 20050809T183142+0330 9 августа 2005 года 18 часов 31 минута 42 секундыUTC+03 часа 30 минут  
20050809T183142-0330 9 августа 2005 года 18 часов 31 минута 42 секундыUTC-03 часа 30 минут  
YYYY-MM-DDThh:mm:ss±hh:mm 2005-08-09T18:31:42+03:30 9 августа 2005 года 18 часов 31 минута 42 секундыUTC+03 часа 30 минут  
2005-08-09T18:31:42-03:30 9 августа 2005 года 18 часов 31 минута 42 секундыUTC-03 часа 30 минут  
YYYY-MM-DDThh:mm:ss[.sss] 2005-08-09T18:31:42 9 августа 2005 года 18 часов 31 минута 42 секунды  
2005-08-09T18:31:42.201 9 августа 2005 года 18 часов 31 минута 42 секунды 201 миллисекунда
 

 

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Клапауций 232 пишет:

Zhigalo_Alexey пишет:

Ну.. 12 и 24 формат.. Сам понимаешь что не єтого хотел.

ок. ещё раз, я выделю вопрос жирным шрифтом, а ты его перечитай не менее 50-ти раз и ответь мне один раз.

итак, сосредоточь всю свою мыслительную мосч:

откуда, разработчики могут узнать, что тебе желается, вместо чисел, получить строку именно того формата, кторый нужен тебе?

Zhigalo_Alexey пишет:

Хорошо, допустим так.

DateTime now = rtc.now();

str = now.getDateTime("dd.mm.YYYY hh:mm:ss");

думаю суть понятна. 

суть понятна - ты желаешь библиотеку исполнения желаний.

Ну во превых, не указывай мне.

В вторых, я думаю все понятно. 

Если тебя смущает именно то, что в строке, а не в другом типе данных. 

то пусть, будет так, str = now.getDateTime_str("dd.mm.YYYY hh:mm:ss");

И метод принимает аргументы именно в строке. А не как иначе. 

Хотя, это в прочем не аргумент. 

Если бы хотел получить в целочисленном формате, допустим месяц, то это может быть другой метод.

Сам формат, тоже указан, как хочешь, так и меняй местами. 

А если ты имеешь введу, что зачем метод, который будет возращать именно в строке, ну я не знаю, что тебе ответить.

 

Zhigalo_Alexey
Offline
Зарегистрирован: 11.07.2015

Клапауций 232 пишет:

внимательно жрущим попкорн, информация к размышлению https://ru.wikipedia.org/wiki/ISO_8601

 

И что мне это дает ? 

Клапауций 232
Offline
Зарегистрирован: 05.04.2016

Zhigalo_Alexey пишет:

то пусть, будет так, str = now.getDateTime_str("dd.mm.YYYY hh:mm:ss");

ок. пусть будет - делай.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

Zhigalo_Alexey пишет:

Хорошо, допустим так.

DateTime now = rtc.now();

str = now.getDateTime("dd.mm.YYYY hh:mm:ss");

думаю суть понятна. 

Алексей, мы тут не на взрослых компах, а под МК прошивки пишем. Ты представляешь, сколько сожрёт функция, которую ты захотел? Это, по-минимуму - разбор переданного формата строки, некислый такой конечный автомат. Плюс - вывод этого гамна в буфер, в который точно всё поместится (т.е. этот буфер надо тоже будет откуда-то взять).

И получишь ты по итогу не +4% к памяти, а все +24% - оно надо? Не проще ли самому как нужно вывести? Это на больших компах мегабайт туда, мегабайт сюда - а и хрен с ним, не жалко, а тут, сам понимаешь - нету их, ресурсов таких.