lampac-talks f843f04fd4 chore: initial commit 154.3
Signed-off-by: lampac-talks <lampac-talks@users.noreply.github.com>
2026-01-30 16:23:09 +03:00

85 lines
5.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System.Globalization;
using System.Text.RegularExpressions;
namespace Shared.Engine.JacRed
{
public static class tParse
{
#region BytesToString
public static string BytesToString(long byteCount)
{
string[] suf = { "Byt", "KB", "MB", "GB", "TB", "PB", "EB" };
if (byteCount == 0)
return "0 " + suf[0];
long bytes = Math.Abs(byteCount);
int place = Convert.ToInt32(Math.Floor(Math.Log(bytes, 1024)));
double num = Math.Round(bytes / Math.Pow(1024, place), 1);
return (Math.Sign(byteCount) * num).ToString().Replace(",", ".") + " " + suf[place];
}
#endregion
#region ParseCreateTime
public static DateTime ParseCreateTime(string line, string format)
{
line = Regex.Replace(line, " янв\\.? ", ".01.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " февр?\\.? ", ".02.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " март?\\.? ", ".03.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " апр\\.? ", ".04.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " май\\.? ", ".05.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " июнь?\\.? ", ".06.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " июль?\\.? ", ".07.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " авг\\.? ", ".08.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " сент?\\.? ", ".09.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " окт\\.? ", ".10.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " нояб?\\.? ", ".11.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " дек\\.? ", ".12.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " янв(аря?)? ", ".01.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " фев(раля?)? ", ".02.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " марта? ", ".03.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " апр(еля?)? ", ".04.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " ма(й|я)? ", ".05.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " июн(ь|я)? ", ".06.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " июл(ь|я)? ", ".07.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " авг(устa?)? ", ".08.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " сент(ябр(я|ь)?)? ", ".09.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " окт(ябр(я|ь)?)? ", ".10.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " ноя(бр(я|ь)?)? ", ".11.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " дек(абр(я|ь)?)? ", ".12.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " январ(ь|я)?\\.? ", ".01.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " феврал(ь|я)?\\.? ", ".02.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " марта?\\.? ", ".03.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " апрел(ь|я)?\\.? ", ".04.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " май?я?\\.? ", ".05.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " июн(ь|я)?\\.? ", ".06.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " июл(ь|я)?\\.? ", ".07.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " августа?\\.? ", ".08.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " сентябр(ь|я)?\\.? ", ".09.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " октябр(ь|я)?\\.? ", ".10.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " ноябр(ь|я)?\\.? ", ".11.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " декабр(ь|я)?\\.? ", ".12.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " Jan ", ".01.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " Feb ", ".02.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " Mar ", ".03.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " Apr ", ".04.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " May ", ".05.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " Jun ", ".06.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " Jul ", ".07.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " Aug ", ".08.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " Sep ", ".09.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " Oct ", ".10.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " Nov ", ".11.", RegexOptions.IgnoreCase);
line = Regex.Replace(line, " Dec ", ".12.", RegexOptions.IgnoreCase);
if (Regex.IsMatch(line, "^[0-9]\\."))
line = $"0{line}";
DateTime.TryParseExact(line.ToLower(), format, new CultureInfo("ru-RU"), DateTimeStyles.None, out DateTime createTime);
return createTime;
}
#endregion
}
}