Парсинг даты/Времени в C++ (Любая строка формата к Эпохе)

Я пишу приложение C++, которое должно проанализировать дату/строку времени и выделить время эпохи. Но формат даты/строки времени может быть больше чем одним (на самом деле говорят что 25 форматов) как

    "EEE, dd MMM yyyy HH:mm:ss '('ZZZ')'",
    "EEE, dd MMM yyyy HH:mm:ss '\"'ZZZ'\"'",
    "EEE, dd MMM yyyy hh:mm:ss z",
    "EEE, dd MMM yyyy HH:mm Z",
    "EEE, dd MMM yyyy HH:mm:ss",
    "EEE, MMM dd, yyyy 'at' HH:mm:ss z",
    "EEE M/dd/yyyy hh:mm:ss a",
    "EEE MMM dd HH:mm:ss z yyyy",
    "EEE MMM dd hh:mm:ss yyyy",
    "EEEE, MMMM dd, yyyy hh:mm:ss a",
    "EEEE, MMMM dd, yyyy HH:mm a",
    "EEEE, MMMM dd, yyyy HH:mm",
    "MMM dd, yyyy hh:mm:ss a",
    "dd MMM yyyy hh:mm:ss z",
    "dd-MMM-yyyy HH:mm:ss z",
    "dd MMM yy HH:mm:ss",
    "MM/dd/yyyy  hh:mm a  (EEEE)",
    "MM/dd/yyyy hh:mm a (EEEE)",
    "MM/dd/yyyy hh:mm:ss",
    "MM/dd/yyyy hh:mm a Z",
    "MM/dd/yyyy hh:mma Z",
    "MM/dd/yyyy hh:mma",
    "MM/dd/yyyy hh:mm a",
    "MM/dd/yyyy hh:mm Z",
    "MM/dd/yy hh:mm a Z",
    "MM/dd/yy hh:mma Z",
    "MM/dd/yy HH:mm a",
    "MM/dd/yy HH:mm Z",
    "MM/dd/yyyy",   
    "yyyy-MM-dd HH:mm:ss",
    "yyyyMMddhhmmss",
    "yyyyMMddhhmm",
    "yyyyMMdd"

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

Можно ли предложить способ сделать это. Примеры кода будут действительно полезны. Я полагаюсь на библиотеки Boost. Сообщите мне, может ли это быть достигнуто библиотеками парсинга даты/времени повышения.

Заранее спасибо, AJ

5
задан AMM 4 August 2010 в 09:55
поделиться