Как получить значения даты и времени в программе C?

Если Вы имеете в виду что-то вроде этого снимок экрана

Full Width TreeViewItem
(источник: bendewey.com )

Обновление , Как отмечено этот пример имеет крушение того, чтобы быть расположенным с отступом на подэлементах

Full Width TreeViewItem
(источник: bendewey.com )

Тогда это должно помочь Вам. Также на основе http://msdn.microsoft.com/en-us/library/ms788727.aspx можно изменить Шаблон TreeViewItem на StackPanel и установить левое поле ItemsPanel на 19. Тогда в TreeView Вы устанавливаете HorizontalContentAlignment = "Фрагмент". Я присоединяю весь ресурс ниже, но здесь являюсь важной частью.



    
        
        
            
            
        
              
              
        
  
  



Управление


    
    
        
        
    
    

Ресурсы









56
задан Ciro Santilli 新疆改造中心法轮功六四事件 11 March 2018 в 10:14
поделиться

4 ответа

Используйте time () и localtime () , чтобы получить время:

#include <time.h>
#include <stdio.h>

void main()
{
  time_t t = time(NULL);
  struct tm tm = *localtime(&t);
  printf("now: %d-%d-%d %d:%d:%d\n", tm.tm_year + 1900, tm.tm_mon + 1,tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec);
}
140
ответ дан 26 November 2019 в 17:04
поделиться
time_t rawtime;   
time ( &rawtime );
struct tm *timeinfo = localtime ( &rawtime );

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

17
ответ дан 26 November 2019 в 17:04
поделиться

Метод, который я использовал, включал часть метода Ричарда Харрисона:

Итак, установите SQL Server 2008 Express edition,

Требуется загрузка установщика веб-платформы "wpilauncher_n.exe" После того, как вы установили это, нажмите на выбор базы данных (вам также необходимо загрузить Frameworks и Runtime).

После установки перейдите в командную строку Windows и:

используйте sqlcmd -S \ SQLExpress (пока вошли в систему как администратор)

затем введите следующую команду.

восстановить список файлов только из disk = 'c: \ temp \ mydbName-2009-09-29-v10.bak'; GO Это перечислит содержимое резервное копирование - то, что вам нужно, это первое поля, которые сообщают вам логические имена - один будет фактической базой данных, а другой - файлом журнала.

ВОССТАНОВИТЬ БАЗУ ДАННЫХ mydbName ИЗ disk = 'c: \ temp \ mydbName-2009-09-29-v10.bak' С ПЕРЕМЕЩЕНИЕМ 'mydbName' НА 'c: \ temp \ mydbName_data.mdf', ПЕРЕМЕСТИТЬ 'mydbName_log' К 'c: \ temp \ mydbName_data.ldf'; GO

Я запустил установщик веб-платформы и из вкладки «Что нового» установил SQL Server Management Studio и просмотрел базу данных, чтобы убедиться, что там есть данные ...

В этот момент я попробовал инструмент, включенный в MSSQL " Мастер импорта и экспорта SQL », но результат дампа csv включал только имена столбцов ...

Поэтому вместо этого я просто экспортировал результаты таких запросов, как« выбрать * из пользователей »из SQL Server Management Studio

но если вы хотите, вы также можете использовать решение Win32 для этого. Это почти идентично, но IMO, если вы программируете для Windows, вы можете просто использовать его API (не знаю, если вы программируете в Windows на самом деле, но неважно)

char* arrDayNames[7] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; // Jeez I hope this works, I haven't done this in ages and it's hard without a compiler..
SYSTEMTIME st;
GetLocalTime(&st); // Alternatively use GetSystemTime for the UTC version of the time
printf("The current date and time are: %d/%d/%d %d:%d:%d:%d", st.wDay, st.wMonth, st.wYear, st.wHour, st.wMinute, st.wSecond, st.wMilliseconds);
printf("The day is: %s", arrDayNames[st.wDayOfWeek]);

В любом случае, это ваше решение для Windows. Надеюсь, это когда-нибудь вам пригодится!

1
ответ дан 26 November 2019 в 17:04
поделиться

вместо файлов используйте каналы, и если вы используете C, а не C ++, вы можете использовать popen как это

#include<stdlib.h>
#include<stdio.h>

FILE *fp= popen("date +F","r");

и использовать * fp как обычный указатель файла с fgets и всем остальным

if Вы можете использовать строки C ++, создать ответвление дочернего элемента, вызвать команду и затем передать ее по конвейеру родительскому элементу.

   #include <stdlib.h>
   #include <iostream>
   #include <string>
   using namespace std;

   string currentday;
   int dependPipe[2];

   pipe(dependPipe);// make the pipe

   if(fork()){//parent
           dup2(dependPipe[0],0);//convert parent's std input to pipe's output
           close(dependPipe[1]);
           getline(cin,currentday);

    } else {//child
        dup2(dependPipe[1],1);//convert child's std output to pipe's input
        close(dependPipe[0]);

        system("date +%F");
    }

// Сделайте аналогичную 1 для date + T, но на самом деле я рекомендую вам придерживаться материала вовремя. h GL

-1
ответ дан 26 November 2019 в 17:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: