Преобразование даты и времени - C# (177588)

Узнай цену своей работы

Формулировка задачи:

Приветсвую! Есть задача, если строка содержит слова "час" или "минут", надо высчитать конкретную дату и время в формате yyyy-MM-dd HH:mm Примеры исходных данных:
  • 3 часа назад
  • 1 час назад
  • 20 минут назад
Я первый раз в жизни вижу C#, но кое-что удалось слепить для плагина в Datacol для "вчера" и "сегодня". Вот математику я пока не понимаю. Помогите пожалуйста дополнить код. Вот что есть у меня:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using DynamicPluginData;
  5. using System.Text.RegularExpressions;
  6. namespace DatacolDynamicPluginNS
  7. {
  8. public class DynamicPluginClass
  9. {
  10. public static string processDataFieldValue(string s, ItemInfo itemInfo, GlobalInfo globalInfo)
  11. { string yesterday = Convert.ToString(DateTime.Now.Date.AddDays(-1).ToString("yyyy-MM-dd"));
  12. string curDateTime = DateTime.Now.ToShortDateString();
  13. if (s.Contains("сегодня"))
  14. {
  15. string pattern = "сегодня";
  16. Regex rgx = new Regex(pattern);
  17. s = rgx.Replace(s, curDate);
  18. }
  19. if (s.Contains("вчера"))
  20. {
  21. string pattern = "вчера";
  22. Regex rgx = new Regex(pattern);
  23. s = rgx.Replace(s, yesterday);
  24. }
  25. return s;
  26. }
  27. }
  28. }

Решение задачи: «Преобразование даты и времени»

textual
Листинг программы
  1.         public static string processDataFieldValue(string s, ItemInfo itemInfo, GlobalInfo globalInfo)
  2.         {
  3.             DateTime result = DateTime.Now;
  4.             if(s.Contains("вчера"))
  5.             {
  6.                 result = result.AddDays(-1);
  7.             }
  8.             if(s.Contains("час"))
  9.             {
  10.                 result = result.AddHours(-int.Parse(s.Split()[0]));
  11.             }
  12.             if(s.Contains("минут"))
  13.             {
  14.                 result = result.AddMinutes(-int.Parse(s.Split()[0]));
  15.             }
  16.             return result.ToString("yyyy-MM-dd hh:mm:ss");
  17.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы