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

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

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

Приветсвую! Есть задача, если строка содержит слова "час" или "минут", надо высчитать конкретную дату и время в формате yyyy-MM-dd HH:mm Примеры исходных данных:
  • 3 часа назад
  • 1 час назад
  • 20 минут назад
Я первый раз в жизни вижу C#, но кое-что удалось слепить для плагина в Datacol для "вчера" и "сегодня". Вот математику я пока не понимаю. Помогите пожалуйста дополнить код. Вот что есть у меня:
                            using System;
                            using System.Collections.Generic;
                            using System.Text;
                            using DynamicPluginData;
                            using System.Text.RegularExpressions;
 
                            namespace DatacolDynamicPluginNS
                            {                
                                public class DynamicPluginClass
                                {     
                                    public static string processDataFieldValue(string s, ItemInfo itemInfo, GlobalInfo globalInfo)
                                    {  string yesterday = Convert.ToString(DateTime.Now.Date.AddDays(-1).ToString("yyyy-MM-dd"));
                                        string curDateTime   = DateTime.Now.ToShortDateString();
                                        
                                        if (s.Contains("сегодня"))
                                             {
                                             string pattern = "сегодня";
                                             Regex rgx      = new Regex(pattern);
                                             s              = rgx.Replace(s, curDate);
                                             }
                                         if (s.Contains("вчера"))
                                             {
                                             string pattern = "вчера";
                                             Regex rgx      = new Regex(pattern);
                                             s              = rgx.Replace(s, yesterday);
                                             }
                                        return s;
                                    }
                                }
                            }

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

textual
Листинг программы
        public static string processDataFieldValue(string s, ItemInfo itemInfo, GlobalInfo globalInfo)
        {
            DateTime result = DateTime.Now;
            if(s.Contains("вчера"))
            {
                result = result.AddDays(-1);
            }
            if(s.Contains("час"))
            {
                result = result.AddHours(-int.Parse(s.Split()[0]));
            }
            if(s.Contains("минут"))
            {
                result = result.AddMinutes(-int.Parse(s.Split()[0]));
            }
            return result.ToString("yyyy-MM-dd hh:mm:ss");
        }

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


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

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

11   голосов , оценка 4.091 из 5
Похожие ответы