Обработка списка дат Unix через C#

andycollens

Новичок
Регистрация
03.02.2024
Сообщения
3
Благодарностей
0
Баллы
1
Всем добрый день.
Помогите пожалуйста с написанием кода C#, который будет брать существующий список date_unix_list (в нем может быть как 5 элементов, так и 5000) содержащий исключительно даты в формате Unix и конвертировать их в формат привычных дат yyyy-MM-dd HH:mm:ss в другой существующий список date_normal_list


Мой вариант не хочет выполняться, ругается на ошибки которые не понимаю как исправить.
C#:
var inputList = project.Lists["date_unix_list"];
var outputList = new List<string>();

foreach (var inputItem in inputList)
{
    var normalDate = DateTimeOffset.FromUnixTimeSeconds(long.Parse(inputItem)).DateTime.ToString("yyyy-MM-dd HH:mm:ss");
    outputList.Add(normalDate);
}

project.Lists["date_normal_list"].Clear();
project.Lists["date_normal_list"].AddRange(outputList);
 

n0n3mi1y

Client
Регистрация
08.03.2017
Сообщения
1 237
Благодарностей
573
Баллы
113
Что лежит в date_unix_list? Приложите, пожалуйста, пример
 

n0n3mi1y

Client
Регистрация
08.03.2017
Сообщения
1 237
Благодарностей
573
Баллы
113
И было бы неплохо увидеть ваши ошибки.
 

andycollens

Новичок
Регистрация
03.02.2024
Сообщения
3
Благодарностей
0
Баллы
1
Что лежит в date_unix_list? Приложите, пожалуйста, пример
В списке даты в UNIX формате нужно перевести в привычный вид в такой же список.
Просто переменные перевожу таким кодом:

Было Стало
1689047612 -> 11.07.2023 3:53:32

C#:
int stamptime = Int32.Parse(project.Variables["Date_unix"].Value);
DateTime pDate = (new DateTime(1970, 1, 1, 0, 0, 0, 0)).AddSeconds(stamptime);
return pDate;
 

Вложения

andycollens

Новичок
Регистрация
03.02.2024
Сообщения
3
Благодарностей
0
Баллы
1
Вопрос снимается - ошибку победил самостоятельно. Где-то в коде была опечатка не на тот список. Код рабочий

C#:
var inputList = project.Lists["date_unix_list"];
var outputList = new List<string>();

foreach (var inputItem in inputList)
{
    var normalDate = DateTimeOffset.FromUnixTimeSeconds(long.Parse(inputItem)).DateTime.ToString("yyyy-MM-dd HH:mm:ss");
    outputList.Add(normalDate);
}

project.Lists["date_normal_list"].Clear();
project.Lists["date_normal_list"].AddRange(outputList);
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)