月名を英語や他の外国語表記にしたり、曜日名を日本語表記にしたり、和暦での年号を付記したりするには、書式を指定した文字列化や特定カルチャの指定を行うことで出来ます。

DateTime/DateTimeOffsetの値を西暦・和暦の表記で文字列化する
using System;
using System.Globalization;

class Sample {
  static void Main()
  {
    var dt1 = new DateTime(2019, 4, 30); // 2019年4月30日
    var dt2 = new DateTime(2019, 5, 1);  // 2019年5月1日

    // ja-JPのCultureInfoを作成
    var jajp = new CultureInfo("ja-JP");

    // カルチャを指定して文字列化
    Console.WriteLine(dt1.ToString("gg yyyy", jajp)); // 年号+年4桁
    Console.WriteLine(dt2.ToString("gg yyyy", jajp));
    Console.WriteLine();

    // JapaneseCalendarで定義される日付と時刻の書式を使用するように変更
    jajp.DateTimeFormat.Calendar = new JapaneseCalendar();

    // JapaneseCalendarに変更したカルチャを指定して文字列化
    Console.WriteLine(dt1.ToString("gg yyyy", jajp)); // 年号+年4桁
    Console.WriteLine(dt2.ToString("gg yyyy", jajp));
  }
}
実行結果例
西暦 2019
西暦 2019

平成 31
令和 01