2013-07-10 4 views
0

У меня есть string date, и мне нужно отформатировать его как дату (dd.mm.yyyy). Как я могу это сделать? Существуют ли некоторые функции, которые упрощают форматирование?Формат строки в качестве даты

LE: «Напишите программу на C++, которая поможет вам управлять задачами ... Задача имеет уникальный формат, идентификатор, описание, дату (строка, имеющая формат« dd.MM.yyyy », например 10.07.2013) «.

+0

Что такое * "' строка date'" *? Что-то вроде «10 июля 2013 года»? – Zeta

+0

Строка с именем date. – Matt

+0

И что он содержит? – jrok

ответ

0

Вы должны быть более конкретными из того, что вы используете. Если его C++/CLI, то вы можете использовать

DateTime::Parse 

, если его не C++/CLI и вы знаете точный формат строки вы можете использовать

sscanf(....) 

и извлекать отдельные элементы для назначения времени структура.

+5

Если это C++/CLI, он должен быть помечен как таковой и не иметь тег C++. – chris

0

C++ Стандартная библиотека не предоставляет тип данных времени, но вы можете сделать, включив ctime в заголовочный файл.

#include <ctime> 
#include <iostream> 
using namespace std; 

int main() { 
    time_t t = time(0); // get time now 
    struct tm * now = localtime(& t); 
    cout << (now->tm_year + 1900) << '-' 
     << (now->tm_mon + 1) << '-' 
     << now->tm_mday 
     << endl; 
} 
+4

«Шаблон класса std :: chrono :: time_point представляет собой момент времени». Я бы сказал, что это соответствует. – chris

1

попробовать это, это даст вам системное время в гольца [32]

time_t curtime; 
struct tm *loctime; 
char date_str[32]; 

curtime = time (NULL); 

/* Convert it to local time representation. */ 
loctime = localtime (&curtime); 
strftime (date_str, 32, "%d.%m.%Y", loctime); 
Смежные вопросы