Время в текст по формату

Просмотр 15 сообщений - с 1 по 15 (из 36 всего)
  • Автор
    Сообщения
  • #33318
    a80808
    Участник

    Коллеги, простите бестолкового — как в формуле текущее время из DateTime.now преобразовать в строку типа 15:01 например?
    Соответственно дату в 04:07:2024
    В файл писать.
    Спасибо!

    #33319
    manjey73
    Участник

    Нужно записывать в файл?

    DateTime.Now.ToString() ну и там есть варианты только дату, только время

    Или надо применять немного более ухищренные методы, если надо записать в своем формате, например 04-07-2024

    • Этот ответ был изменен 1 неделя, 3 дня назад от manjey73.
    #33321
    a80808
    Участник

    Спасибо, попробую…

    #33322
    JurasskPark
    Участник

    DateTime.Now.ToString(«yyyy-MM-dd HH:mm:ss.fff»)
    yyyy — год
    MM — месяц
    dd — день
    HH — час
    mm — минуты
    ss — секунды
    fff — милисекунды

    #33323
    a80808
    Участник

    Так, совсем глупый вопрос — как кусок строки вырезать?
    Есть строка вида
    04.07.2024 16:55:0030,37
    Как мне вырезать отдельно дату, отдельно время?
    В других языках была функция substr()…

    #33324
    manjey73
    Участник

    Да тут тоже самое. только вам индекс пробела сперва найти. IndexOff и по нему резать.

    #33325
    a80808
    Участник

    Так индексы то известны в принципе.
    Чем резать то?
    Ну совсем я там не разбираюсь. Пытался читать Майкросовую доку — понял что «Крыша едет не спеша, тихо шифером шурша…»…

    #33326
    manjey73
    Участник

    Ну проще на другом ресурсе смотреть простые вещи

    https://metanit.com/sharp/tutorial/7.2.php

    Вам сплита наверное достаточно будет

    #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 и запятая, разделяющая миллисекунды. >_>

    #33328
    manjey73
    Участник

    Не удивляйтесь запятой, это зависит от разделителя, примененного в Культуре ОС.

    Если потом надо обработать и не схватить исключение, надо научить парсить независимо от запятой или точки.

    #33331
    a80808
    Участник

    А что, парсить обязательно? я разве не могу сказать чтобы из общего поля 9строки) полной даты вырезать первые 8 символов (дата) и символы с 10 по 17 (время)? Мне больше ничего и не нужно…

    Как хорошо с substr()….

    #33332
    manjey73
    Участник

    @a80808 если поле всегда одинаково, то можно сразу вырезать нужное, никто же не возражает

    // обрезаем сначала до последних двух символов
    text = text.Substring(0, text.Length — 2);

    Ну как вариант примера
    string time = text.Substring(5, 5);
    То есть с 5-го символа, длина 5 (ну в вашем случае надо посчитать сколько и с какого символа. Тот же substr() — похож? 🙂

    #33333
    manjey73
    Участник

    парсить нужно, если вы эти данные собрались записать в канал БД. Ведь не забыли, что канал является double

    #33334
    a80808
    Участник

    Я в файл текстовый пишу, изображая что он csv. Заявка такая…

    Спасибо огромное!

    #33335
    a80808
    Участник

    Строка 531, колонка 16: error CS0103: The name ‘text’ does not exist in the current context

    Это в логе…

Просмотр 15 сообщений - с 1 по 15 (из 36 всего)
  • Вы должны авторизироваться для ответа в этой теме.