Работа с датами в wokflow

Страницы: 1
RSS
Работа с датами в wokflow, Преобразование дат
 
Возник вопрос как преобразовывать даты в визуальном конструкторе

1. как полученное системное время 2022.07.27 превратить в ИЮЛЬ 2022 г., чтобы вставить в поле
2. как можно максимально удобно превратить дату формата (15 августа 2022) в (15.08.2022)?

Ответы:
1. Для решения первого варианта используем следующие перменные:

Код
months  {"","Январь","Ферваль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"}

cur_month = Convert.toInt32(DateTime.Now.ToString("MM"))


[DISK FILE ID=1]

В результате работы у нас в cur_month будет текущий месяц в виде цифры. Далее просто из массива получаем нужный месяц по номеру индекса months(cur_month).

2. Для второго варината добавляем следующие переменные:

Код
months1 = {"","января","ферваля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"}
data_source = "15 августа 2022"
data_source_arr String[] 
month_number String


[DISK FILE ID=4]

У нас есть исходная дата "15 августа 2022"
1. С помощью действия Assign<String[]> делим через пробел Split(data_source," ") в массив data_source_arr исходную строку с датой.
2. В data_source_arr(1) будет значение нашего месяца - августа.
3. С помощью действия Assign<String> получаем в month_number с помощью кода Array.IndexOf(months1, data_source_arr(1).Trim()).Tostring() индекс месяца из массива  months1 .  
4. Далее через оператор if проверяем условие Convert.ToInt32(month_number)<10 и если наш месяц меньше 10 помощью действия Assign<String> в month_number добавляем "0"+month_number
5. Через действие ReplaceString заменяем в data_source месяц с пробелами " "+data_source_arr(1).Trim()+" " на полученное число с точками "."+month_number+"."
В итоге на выходе имеем 15.08.2022.

[DISK FILE ID=3]


Пример кода скачать:
[DISK FILE ID=2]
Изменено: Тех.Поддержка - 09.08.2022 10:00:49
 
Вопрос: Как получить из даты в формате  20.08.2022 дату в формате 2022-08-20

Ответ:   Один из способов использовать работу с датами и команду DateTime.ParseExact


На входе date_str = "20.08.2022"
1. Преобразуем с помощью действия присваивания нашу строку в DateTime dt = DateTime.ParseExact(date_str, "dd.MM.yyyy",System.Globalization.CultureInfo.InvariantCulture)
2. Получаем дату в виде строки в нужном формате date_str = dt.ToString("yyyy-MM-dd")
3. Выводим строку в панель отладки "дата:"+date_str

Результат: 30.08.2022 16:19:18: дата: 2022-08-20

[DISK FILE ID=n236]

Скачать пример:

[DISK FILE ID=n235]
Страницы: 1
Читают тему