Стартовая страница › Форумы › Понять, как работает ПО › Формулы › Время в текст по формату
- В этой теме 35 ответов, 4 участника, последнее обновление 1 год, 11 месяцев назад сделано
Mikhail.
-
АвторСообщения
-
04.07.2024 в 16:33 #33318
a80808УчастникКоллеги, простите бестолкового — как в формуле текущее время из DateTime.now преобразовать в строку типа 15:01 например?
Соответственно дату в 04:07:2024
В файл писать.
Спасибо!04.07.2024 в 16:42 #33319
manjey73УчастникНужно записывать в файл?
DateTime.Now.ToString() ну и там есть варианты только дату, только время
Или надо применять немного более ухищренные методы, если надо записать в своем формате, например 04-07-2024
-
Ответ изменён 1 год, 11 месяцев назад пользователем
manjey73.
04.07.2024 в 16:52 #33321
a80808УчастникСпасибо, попробую…
04.07.2024 в 16:53 #33322
JurasskParkУчастникDateTime.Now.ToString(«yyyy-MM-dd HH:mm:ss.fff»)
yyyy — год
MM — месяц
dd — день
HH — час
mm — минуты
ss — секунды
fff — милисекунды04.07.2024 в 17:00 #33323
a80808УчастникТак, совсем глупый вопрос — как кусок строки вырезать?
Есть строка вида
04.07.2024 16:55:0030,37
Как мне вырезать отдельно дату, отдельно время?
В других языках была функция substr()…04.07.2024 в 17:06 #33324
manjey73УчастникДа тут тоже самое. только вам индекс пробела сперва найти. IndexOff и по нему резать.
04.07.2024 в 17:10 #33325
a80808УчастникТак индексы то известны в принципе.
Чем резать то?
Ну совсем я там не разбираюсь. Пытался читать Майкросовую доку — понял что «Крыша едет не спеша, тихо шифером шурша…»…04.07.2024 в 17:17 #33326
manjey73УчастникНу проще на другом ресурсе смотреть простые вещи
https://metanit.com/sharp/tutorial/7.2.php
Вам сплита наверное достаточно будет
04.07.2024 в 17:19 #33327
JurasskParkУчастникstring dateDot = «04.07.2024 16:55:0030,37»;
string[] dateStr = dateDot.Split(new char[] { ‘ ‘ }, StringSplitOptions.RemoveEmptyEntries);
string date1 = dateStr[0];
string date2 = dateStr[1];Очень смущают секунды 0030 и запятая, разделяющая миллисекунды. >_>
04.07.2024 в 17:52 #33328
manjey73УчастникНе удивляйтесь запятой, это зависит от разделителя, примененного в Культуре ОС.
Если потом надо обработать и не схватить исключение, надо научить парсить независимо от запятой или точки.
05.07.2024 в 09:15 #33331
a80808УчастникА что, парсить обязательно? я разве не могу сказать чтобы из общего поля 9строки) полной даты вырезать первые 8 символов (дата) и символы с 10 по 17 (время)? Мне больше ничего и не нужно…
Как хорошо с substr()….
05.07.2024 в 10:07 #33332
manjey73Участник@a80808 если поле всегда одинаково, то можно сразу вырезать нужное, никто же не возражает
// обрезаем сначала до последних двух символов
text = text.Substring(0, text.Length — 2);Ну как вариант примера
string time = text.Substring(5, 5);
То есть с 5-го символа, длина 5 (ну в вашем случае надо посчитать сколько и с какого символа. Тот же substr() — похож? 🙂05.07.2024 в 10:07 #33333
manjey73Участникпарсить нужно, если вы эти данные собрались записать в канал БД. Ведь не забыли, что канал является double
05.07.2024 в 12:08 #33334
a80808УчастникЯ в файл текстовый пишу, изображая что он csv. Заявка такая…
Спасибо огромное!
05.07.2024 в 12:36 #33335
a80808УчастникСтрока 531, колонка 16: error CS0103: The name ‘text’ does not exist in the current context
Это в логе…
-
Ответ изменён 1 год, 11 месяцев назад пользователем
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.