Генерация времени с английским наименованием

Hannes

Client
Регистрация
03.02.2016
Сообщения
501
Благодарностей
242
Баллы
43
Здравствуйте! Потребовалось сгенерить дату в таком формате:
C#:
01 Jan 1991
Воспользовался великолепной статьёй по генерации времени от @semafor и документаций от microsoft и получилось так:

C#:
DateTime start = DateTime.Parse("01.01.2017");
DateTime finish = DateTime.Parse("01.01.2023");

Random gen = new Random();
int range = (finish - start).Days;
return start.AddDays(gen.Next(range)).ToString("dd MMM yyyy");
Результат такой: 05 июн 2022
А нужен такой: 05 Jun 2022


Как на английском месяц сделать и чтобы первая буква была заглавная? Подскажите, пожалуйста!
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 013
Благодарностей
540
Баллы
113
Здравствуйте! Потребовалось сгенерить дату в таком формате:
C#:
01 Jan 1991
Воспользовался великолепной статьёй по генерации времени от @semafor и документаций от microsoft и получилось так:

C#:
DateTime start = DateTime.Parse("01.01.2017");
DateTime finish = DateTime.Parse("01.01.2023");

Random gen = new Random();
int range = (finish - start).Days;
return start.AddDays(gen.Next(range)).ToString("dd MMM yyyy");
Результат такой: 05 июн 2022
А нужен такой: 05 Jun 2022


Как на английском месяц сделать и чтобы первая буква была заглавная? Подскажите, пожалуйста!
C#:
            DateTime start = DateTime.Parse("01.01.2017");
            DateTime finish = DateTime.Parse("01.01.2023");

            Random gen = new Random();
            int range = (finish - start).Days;
            return start.AddDays(gen.Next(range)).ToString("dd MMM yyyy", CultureInfo.GetCultureInfo("en-US"));
 
  • Спасибо
Реакции: Hannes

Hannes

Client
Регистрация
03.02.2016
Сообщения
501
Благодарностей
242
Баллы
43
C#:
            DateTime start = DateTime.Parse("01.01.2017");
            DateTime finish = DateTime.Parse("01.01.2023");

            Random gen = new Random();
            int range = (finish - start).Days;
            return start.AddDays(gen.Next(range)).ToString("dd MMM yyyy", CultureInfo.GetCultureInfo("en-US"));
Спасибо! Но выдаёт ошибку:
Компиляция кода Ошибка в действии "CS0103" "The name 'CultureInfo' does not exist in the current context". [Строка: 6; Cтолбец: 63]
 

Sherminator

Client
Регистрация
10.09.2021
Сообщения
1 013
Благодарностей
540
Баллы
113
Спасибо! Но выдаёт ошибку:
Компиляция кода Ошибка в действии "CS0103" "The name 'CultureInfo' does not exist in the current context". [Строка: 6; Cтолбец: 63]
using добавить надо
C#:
using System.Globalization;
Либо указывать явно
C#:
 return start.AddDays(gen.Next(range)).ToString("dd MMM yyyy", System.Globalization.CultureInfo.GetCultureInfo("en-US"));
 
  • Спасибо
Реакции: Hannes

Hannes

Client
Регистрация
03.02.2016
Сообщения
501
Благодарностей
242
Баллы
43
@Sherminator спасибо за помощь и объяснение! :bt::bo:
Всё работает отлично.

Для совсем новичков, которые в поиске найдут эту тему,
using System.Globalization;
добавляется так:
Screenshot 2023-09-21 at 21.28.16.jpg
 
  • Спасибо
Реакции: Sherminator

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)