Преобразование даты и времени - C# (177588)
Формулировка задачи:
Приветсвую!
Есть задача, если строка содержит слова "час" или "минут", надо высчитать конкретную дату и время в формате yyyy-MM-dd HH:mm
Примеры исходных данных:
- 3 часа назад
- 1 час назад
- 20 минут назад
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");
}