Как я могу получить MicrosoftDateFormat в цели C? - PullRequest
0 голосов
/ 15 мая 2018

Существует приложение для iOS, написанное на C #, которое использует MicrosoftDateFormat и Newtonsoft.Json.

Пример кода:

        using Newtonsoft.Json;

        JsonSerializerSettings microsoftDateFormatSettings = new JsonSerializerSettings
        {
            DateFormatHandling = DateFormatHandling.MicrosoftDateFormat
        };
        DateTime current = DateTime.UtcNow;
        string json = JsonConvert.SerializeObject(current, microsoftDateFormatSettings);
        Console.WriteLine(json);

Печать

"\/Date(1526376504370)\/"

Теперь яя переписываю приложение в нативной цели C. Я получаю текущую дату в виде

1011

, и это печатает

Current date Tue May 15 15:02:05 2018

Как мне преобразовать ее в вышеуказанный формат?Спасибо.

Ответы [ 3 ]

0 голосов
/ 15 мая 2018

Если вы хотите получить эту строку, то, возможно, это поможет: -

NSString *dateString=[NSString stringWithFormat:@"/Date(%ld)/",(long)[[NSDate date] timeIntervalSince1970]];
0 голосов
/ 19 мая 2018

Приведенные выше ответы верны, но очень важно отметить, что timeIntervalSince1970 дает вам количество секунд, где, как Newtonsoft.Json библиотека выдает его в миллисекундах, так что вам нужно сделать -

NSString *date = [NSString stringWithFormat:@"/Date(%lld)/",(long long)([currentTag.firstSeenTime timeIntervalSince1970] * 1000.0)];
0 голосов
/ 15 мая 2018

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

Вы можете использовать свойство timeIntervalSince1970, чтобы получить количество секунд, а затем поместить его в строку /Date(xxxxxxxx)/.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...