Как разделить числовую строку с помощью запятых в C # - PullRequest
0 голосов
/ 22 мая 2018

Как я могу разделить числовую строку в формате даты, добавив запятую с помощью кода C #.Например:

Вход:

Inputstring=20130511

Выход:

Splitstring=2013,05,11
Year=2013
Month=05
Date=11
dayname=saturday
quater=2

Ответы [ 2 ]

0 голосов
/ 22 мая 2018

Попробуйте поделить на число, кратное 10.

Например: date = yyyymmdd Если вы разделите дату на 100, вы получите dayTemp = yyyymm, чтобы получить ваш номер дня:

день = дата - (dayTemp * 100)

Сделайте то же самое, чтобы получить месяц и год.вам нужно изменить кратное 10.

0 голосов
/ 22 мая 2018

Вы можете написать небольшой метод, который принимает строку и возвращает DateTime из вашей входной строки.Вы можете использовать TryParseExact и передавать "yyyyMMdd" в качестве строки формата (что означает 4-значный год, затем 2-значный месяц, а затем 2-значный день).Он вернет default(DateTime), если есть какие-либо проблемы с входной строкой:

private static DateTime GetDate(string input)
{
    DateTime result;
    DateTime.TryParseExact(input, "yyyyMMdd", CultureInfo.CurrentCulture, 
        DateTimeStyles.None, out result);
    return result;
}

Тогда вы можете вызвать этот метод и вывести свои результаты примерно так:

private static void Main()
{
    var input = "20130511";
    var result = GetDate(input);

    Console.WriteLine($"Input: {input}");
    Console.WriteLine($"Year: {result.Year}");
    Console.WriteLine($"Month: {result.Month}");
    Console.WriteLine($"Date: {result.Day}");
    Console.WriteLine($"Dayname: {result.DayOfWeek}");
    Console.WriteLine($"Quarter: {(result.Month - 1) / 4 + 1}");

    GetKeyFromUser("\nDone! Press any key to exit...");
}

Выход

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...