• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Jak to napisać w C++? (JAVA) String.valueOf(System.currentTimeMillis())

VPS Starter Arubacloud
0 głosów
174 wizyt
pytanie zadane 21 stycznia 2018 w Java przez jveaster Początkujący (440 p.)

Mógłby mi ktoś napisać jak wykonać tą czynność w C++?

String.valueOf(System.currentTimeMillis())

 

1 odpowiedź

+2 głosów
odpowiedź 21 stycznia 2018 przez JAKUBW Nałogowiec (33,470 p.)
wybrane 21 stycznia 2018 przez jveaster
 
Najlepsza

W c++11 jest wygodny system uzyskiwania czasu:

auto now = std::chrono::system_clock::now();
auto duration = now.time_since_epoch();
auto millis = std::chrono::duration_cast<std::chrono::milliseconds>(duration).count();
auto millisAsString = std::to_string(millis);

Czyli w skrócie w jedną linijkę:

auto millisAsString = std::to_string(std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count());

Pamiętaj aby dodać include na początku:

#include <chrono>
#include <string> //do konwersji na string

 

komentarz 21 stycznia 2018 przez jveaster Początkujący (440 p.)

W ideone.com mi działa, ale w środowisku nie. Na przykładowym kodzie

    #include <iostream>
    #include <chrono>
    #include <string>

    int main() {
    auto millisAsString = std::to_string(std::chrono::duration_cast<std::chrono::milliseconds>(std::chrono::system_clock::now().time_since_epoch()).count());
    std::cout<<millisAsString;
    	return 0;
    }

nie chce działać bo to_string niby nie jest częścią std. Dodałem do ustawień kopilatora -std=c++11, więc chyba powinno działać (rzadko z C++11 korzystam). Ma ktoś pomysł co jest nie tak?

1
komentarz 21 stycznia 2018 przez JAKUBW Nałogowiec (33,470 p.)
edycja 21 stycznia 2018 przez JAKUBW
Domyślna kompilacja jest w starym C++

W CodeBlocks wejdź w Settings na pasku u góry->Compiler->i zaznacz checkboxa z C++14.

Warto pracować na jak najnowszej wersji

Jeżeli nadal jest problem z funkcją std::to_string (Codeblocks lubi mieć problem) to upewnij się że używasz najnowszego dostępnego kompilatora GCC
komentarz 21 stycznia 2018 przez jveaster Początkujący (440 p.)
Nie ma u mnie checkboxa z C++14...
komentarz 22 stycznia 2018 przez JAKUBW Nałogowiec (33,470 p.)
Przeinstaluj CodeBlocksa, w nowym jest. (Sam sprawdzałem)

Podobne pytania

0 głosów
2 odpowiedzi 1,777 wizyt
pytanie zadane 21 sierpnia 2017 w Java przez karol928 Początkujący (320 p.)
+1 głos
2 odpowiedzi 336 wizyt
pytanie zadane 6 sierpnia 2020 w Java przez Nickowy3456 Użytkownik (610 p.)
–2 głosów
1 odpowiedź 268 wizyt
pytanie zadane 13 marca 2020 w Java przez borys0566 Nowicjusz (240 p.)

92,455 zapytań

141,263 odpowiedzi

319,100 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...