Преобразование даты в формат времени в миллисекунды C ++ 98 [дубликат]

Чтобы получить все ваши входы формы, в том числе type = "file" , вам нужно использовать объект FormData . вы сможете увидеть содержимое formData в отладчике -> network -> Headers после того, как вы отправите форму.

var url = "YOUR_URL";

var form = $('#YOUR_FORM_ID')[0];
var formData = new FormData(form);


$.ajax(url, {
    method: 'post',
    processData: false,
    contentType: false,
    data: formData
}).done(function(data){
    if (data.success){ 
        alert("Files uploaded");
    } else {
        alert("Error while uploading the files");
    }
}).fail(function(data){
    console.log(data);
    alert("Error while uploading the files");
});
18
задан bluish 17 February 2012 в 10:47
поделиться

8 ответов

В библиотеке POCO есть класс DateTimeParser, который может помочь вам в этом. http://www.appinf.com/docs/poco/Poco.DateTimeParser.html

1
ответ дан Adrian Kosmaczewski 22 August 2018 в 08:55
поделиться

Я понял это, не используя strptime.

Разделите дату вниз на ее компоненты, т.е. день, месяц, год, затем:

struct tm  tm;
time_t rawtime;
time ( &rawtime );
tm = *localtime ( &rawtime );
tm.tm_year = year - 1900;
tm.tm_mon = month - 1;
tm.tm_mday = day;
mktime(&tm);

tm может теперь преобразуется в time_t и обрабатывается.

9
ответ дан bluish 22 August 2018 в 08:55
поделиться

Для всех, кто ищет strptime() для Windows, для этого требуется источник самой функции. К сожалению, последний код NetBSD не переносится в Windows.

Я сам использовал реализацию здесь (strptime.h и strptime.c).

Еще один полезный фрагмент кода можно найти здесь здесь . Это происходит из Google Codesearch, который больше не существует.

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

2
ответ дан DoubleYou 22 August 2018 в 08:55
поделиться

Вы можете попробовать Input / Output Boost.Date_Time .

6
ответ дан Ferruccio 22 August 2018 в 08:55
поделиться
  • 1
    Даты не простые, просто посмотрите на то, как США ошибаются. Boost :: Date_Time может выглядеть как большой, но это всего лишь небольшой первый шаг. – MSalters 21 November 2008 в 14:03

Почему бы не пойти на более простое решение, используя boost

using namespace boost::gregorian;
using namespace boost::posix_time;    
ptime pt = time_from_string("20150917");
1
ответ дан Johan Engblom 22 August 2018 в 08:55
поделиться
#include <time.h>
char *strptime(const char *buf, const char *format, struct tm *tm);
15
ответ дан kenny 22 August 2018 в 08:55
поделиться
#include <time.h>
#include <iostream>
#include <sstream>
#include <algorithm>

using namespace std;

int main ()
{
  time_t rawtime;
  struct tm * timeinfo;
  int year, month ,day;
  char str[256];

  cout << "Inter date: " << endl; 
  cin.getline(str,sizeof(str));

  replace( str, str+strlen(str), '/', ' ' );  
  istringstream( str ) >> day >> month >> year;

  time ( &rawtime );
  timeinfo = localtime ( &rawtime );
  timeinfo->tm_year = year - 1900;
  timeinfo->tm_mon = month - 1;
  timeinfo->tm_mday = day;
  mktime ( timeinfo );

  strftime ( str, sizeof(str), "%A", timeinfo );
  cout << str << endl;
  system("pause");
  return 0;
}
1
ответ дан Sergey Bromirskiy 22 August 2018 в 08:55
поделиться
  • 1
    Хорошо работает .. С небольшой модификацией это должен быть лучший ответ – Everyone 31 January 2017 в 09:36

Вы можете использовать библиотеку boost (cross platform)

#include <stdio.h>
#include "boost/date_time/posix_time/posix_time.hpp"

int main()
{    
std::string strTime = "2007-04-11 06:18:29.000";
std::tm tmTime = boost::posix_time::to_tm(boost::posix_time::time_from_string(strTime));
return 0;
}

Но формат должен быть указан как:)

0
ответ дан Vinoj John Hosan 22 August 2018 в 08:55
поделиться
Другие вопросы по тегам:

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