西暦 to 和暦
Posted feedbacks - C#
暫定で
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | class Program
{
static void Main(string[] args)
{
try
{
CultureInfo culture = new CultureInfo("ja-JP", true);
culture.DateTimeFormat.Calendar = new JapaneseCalendar();
DateTime datetime = DateTime.Parse(args[0]);
Console.WriteLine(datetime.ToString("ggyy年M月d日", culture));
}
catch
{
Console.WriteLine("範囲外です");
}
}
}
|
とりあえず、明治6年1月1日以前を範囲外としてあります。 >trans.exe 1868/12/2 範囲外 >trans.exe 1926/12/24 大正15年12月24日 >trans.exe 2007/12/01 平成19年12月1日 >trans.exe 1926/12/25 大正15年12月25日 昭和1年12月25日 >trans.exe 1868/100/2 範囲外 >trans.exe 1868/1/2 範囲外
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | using System;
using System.Globalization;
class Program
{
static void Main(string[] args)
{
CultureInfo culture = new CultureInfo("ja-JP", true);
DateTime date;
string[] tmp;
int y, m, d;
culture.DateTimeFormat.Calendar = new JapaneseCalendar();
try {
tmp = args[0].Split('/');
y = int.Parse(tmp[0]);
m = int.Parse(tmp[1]);
d = int.Parse(tmp[2]);
date = new DateTime(y, m, d);
if (DateTime.Compare(date, new DateTime(1873, 1, 1)) < 0)
throw new Exception();
if (y == 1912 && m == 7 && d == 30)
Console.Write("明治45年7月30日 ");
else if (y == 1926 && m == 12 && d == 25)
Console.Write("大正15年12月25日 ");
Console.WriteLine(date.ToString("ggy年M月d日", culture));
}
catch {
Console.WriteLine("範囲外");
return;
}
}
}
|


ocean
#5067()
Rating0/8=0.00
>a.py 1868/12/2
明治1年12月2日
>a.py 1926/12/24
大正15年12月24日
>a.py 2007/12/01
平成19年12月1日
>a.py 1926/12/25
大正15年12月25日 昭和1年12月25日
>a.py 1868/1/2
範囲外
>a.py 1868/100/2
範囲外
see: 和暦西暦対応表
[ reply ]