UNIX time to DateTime in C#

Vital

Client
Регистрация
28.01.2013
Сообщения
205
Благодарностей
6
Баллы
18
Уважаемые коллеги -не подскажите сниппет в рамках зеннопостера.

Есть переменная {-Variable.unixtime-}
 

7make

Client
Регистрация
25.06.2011
Сообщения
1 547
Благодарностей
1 311
Баллы
113

Обращаем Ваше внимание на то, что данный пользователь заблокирован.
Не рекомендуем проводить с 7make какие-либо сделки.

  • Спасибо
Реакции: Marcelo

Vital

Client
Регистрация
28.01.2013
Сообщения
205
Благодарностей
6
Баллы
18
А какой будет полный код?
 

iDnx

Client
Регистрация
06.06.2013
Сообщения
132
Благодарностей
105
Баллы
43
Код:
int unixTime = (int)(DateTime.UtcNow - new DateTime(1970, 1, 1)).TotalSeconds;
return unixTime;
 

females

Пользователь
Регистрация
19.09.2014
Сообщения
32
Благодарностей
5
Баллы
8
вооот... спасибо, как раз искал про юникс время
 

OTEC_SERGIUS

Client
Регистрация
04.10.2014
Сообщения
387
Благодарностей
69
Баллы
28
Аааа, непонятно ничего(((
Допустим есть переменная MY_TIME_IN_STAMP, куда её в этот с# нужно подставить чтобы в переменную MY_TIME_IN_DATE вывести?
 

alekwuy

Client
Регистрация
06.04.2013
Сообщения
1 631
Благодарностей
461
Баллы
83
Подскажите как сконвертировать unixdate обратно в нормальную дату?
 
  • Спасибо
Реакции: Андрейка2020

Nick

Client
Регистрация
22.07.2014
Сообщения
1 983
Благодарностей
817
Баллы
113
Аааа, непонятно ничего(((
Допустим есть переменная MY_TIME_IN_STAMP, куда её в этот с# нужно подставить чтобы в переменную MY_TIME_IN_DATE вывести?
в этот C# её не надо никуда, просто в свойствах действия внизу нужно выбрать: результат записывать в переменную MY_TIME_IN_DATE
 

Nick

Client
Регистрация
22.07.2014
Сообщения
1 983
Благодарностей
817
Баллы
113
  • Спасибо
Реакции: alekwuy

vasyaya

Client
Регистрация
09.02.2015
Сообщения
555
Благодарностей
35
Баллы
28

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Сейчас есть стандартный макрос {-TimeNow.UnixTime-}
 

vasyaya

Client
Регистрация
09.02.2015
Сообщения
555
Благодарностей
35
Баллы
28

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Как и любую другую макрос конструкцию. Можно вставить в любое место где текст принимается
 

vasyaya

Client
Регистрация
09.02.2015
Сообщения
555
Благодарностей
35
Баллы
28
Как и любую другую макрос конструкцию. Можно вставить в любое место где текст принимается
Мне нужно чтобы я ввел время,дата и мне выдало UnixTime..как это сделать?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Код:
string format = "dd.MM.yyyy H:mm:ss";
DateTime startdate =   DateTime.ParseExact(project.Variables["Имяпеременной"].Value,
          format, CultureInfo.InvariantCulture);          
int he = (Int32)(startdate.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
return Convert.ToString(he);
в переменной Имяпеременной соответственно лежат дата и время в формате dd.MM.yyyy H:mm:ss
 
  • Спасибо
Реакции: Hannes, Sanekk и THE CaHeK

ParfeniyAnton

Client
Регистрация
24.08.2014
Сообщения
301
Благодарностей
49
Баллы
28
Код:
var stamptime = project.Variables["unixTimestamp"].Value;
DateTime pDate = (new DateTime(1970, 1, 1, 0, 0, 0, 0)).AddSeconds(stamptime);
return pDate;
Господа, я вот пытаюсь распарсить UNIX время в обычный формат.
И вот если переменной stamptime задать руками значение например 9999999, то всё работает, а как только пытаюсь присвоить значение из переменной проекта, перестаёт работать. В переменной лежит UNIX время взятое get запросом из ВК
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
может пробелы?
 

Nick

Client
Регистрация
22.07.2014
Сообщения
1 983
Благодарностей
817
Баллы
113
аффтар, приведи примеры реальных значений timestamp'ов, которые у тебя не разбираются
 

ParfeniyAnton

Client
Регистрация
24.08.2014
Сообщения
301
Благодарностей
49
Баллы
28
Код:
int stamptime = Int32.Parse(project.Variables["unixTimestamp"].Value);
DateTime pDate = (new DateTime(1970, 1, 1, 0, 0, 0, 0)).AddSeconds(stamptime);
return pDate;
Вот так работает. То есть тип переменной сменил и всё заработало. Не знаю как это объяснить.
 

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
791
Благодарностей
136
Баллы
43
Код:
int stamptime = Int32.Parse(project.Variables["unixTimestamp"].Value);
DateTime pDate = (new DateTime(1970, 1, 1, 0, 0, 0, 0)).AddSeconds(stamptime);
return pDate;
Вот так работает. То есть тип переменной сменил и всё заработало. Не знаю как это объяснить.
А в каком формате цифры в переменной unixTimestamp должны лежать? А то как ни пробовал, выдаёт ошибку, что не верный формат.
 

Ribas

Client
Регистрация
31.05.2014
Сообщения
1 440
Благодарностей
503
Баллы
113

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
791
Благодарностей
136
Баллы
43
то есть в unix формате. А я то думал, что я туда закину дату, а он мне высчитает секунды разницы между датой на данный момент и той, которую указал.
 

spbalexpiter

Client
Регистрация
24.11.2013
Сообщения
399
Благодарностей
92
Баллы
28
Код:
string format = "dd.MM.yyyy H:mm:ss";
DateTime startdate =   DateTime.ParseExact(project.Variables["Имяпеременной"].Value,
          format, CultureInfo.InvariantCulture);         
int he = (Int32)(startdate.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
return Convert.ToString(he);
в переменной Имяпеременной соответственно лежат дата и время в формате dd.MM.yyyy H:mm:ss
не работает...
 

Ribas

Client
Регистрация
31.05.2014
Сообщения
1 440
Благодарностей
503
Баллы
113

spbalexpiter

Client
Регистрация
24.11.2013
Сообщения
399
Благодарностей
92
Баллы
28

Вложения

stmult

Client
Регистрация
19.11.2013
Сообщения
96
Благодарностей
37
Баллы
18

Meteorburn

Client
Регистрация
23.05.2016
Сообщения
1 472
Благодарностей
575
Баллы
113
подключи директиву using
using System.Globalization;
Добавил.
Компиляция кода Ошибка в действии "CS0103" "Имя "CultureInfo" отсутствует в текущем контексте". [Строка: 2; Cтолбец: 19]
Как будто не видит библиотеки.
 

mrstorm

Client
Регистрация
16.04.2015
Сообщения
205
Благодарностей
14
Баллы
18
Код:
string format = "dd.MM.yyyy H:mm:ss";
DateTime startdate =   DateTime.ParseExact(project.Variables["Имяпеременной"].Value,
          format, CultureInfo.InvariantCulture);   
int he = (Int32)(startdate.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
return Convert.ToString(he);
в переменной Имяпеременной соответственно лежат дата и время в формате dd.MM.yyyy H:mm:ss
при выполнении появляются две ошибки:
Тип Время Сообщение
22:19:16 Компиляция кода Ошибка в действии "CS0103" "The name 'date' does not exist in the current context". [Строка: 1; Cтолбец: 62]
22:19:16 Компиляция кода Ошибка в действии "CS0103" "The name 'CultureInfo' does not exist in the current context". [Строка: 2; Cтолбец: 19]

Что не так делаю?

UPD: В итоге сам нашел решение - подключил ссылку System.Globalization и using System.Globalization. И переменная в кавычках двойных по ходу должна быть...
 
Последнее редактирование:
  • Спасибо
Реакции: goldfish

goldfish

Client
Регистрация
06.06.2011
Сообщения
210
Благодарностей
17
Баллы
18
при выполнении появляются две ошибки:
Тип Время Сообщение
22:19:16 Компиляция кода Ошибка в действии "CS0103" "The name 'date' does not exist in the current context". [Строка: 1; Cтолбец: 62]
22:19:16 Компиляция кода Ошибка в действии "CS0103" "The name 'CultureInfo' does not exist in the current context". [Строка: 2; Cтолбец: 19]

Что не так делаю?

UPD: В итоге сам нашел решение - подключил ссылку System.Globalization и using System.Globalization. И переменная в кавычках двойных по ходу должна быть...
а нельзя ли поделиться рабочим примером. у меня чтто не получаеться. выводит ошибку CSharp owncode no such variable
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 122
Баллы
113
а нельзя ли поделиться рабочим примером. у меня чтто не получаеться. выводит ошибку CSharp owncode no such variable
C#:
DateTime dt = DateTime.Parse(project.Variables["dateTime"].Value);
return (int)(dt - new DateTime(1970, 1, 1)).TotalSeconds;
 
  • Спасибо
Реакции: luserz

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