「日付」(2005/10/26 (水) 16:47:59) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
**日付や時刻の文字列をDataTimeオブジェクトに変換
/* 変換対象文字列
string date = "2005/05/30";
/* 変換対象文字列のフォーマット群
/* このフォーマットに準ずるならば変換可能
string [] expectedFormats = {"yyMMdd", "yy/MM/dd", "yyyyMMdd", "yyyy/MM/dd"};
/* 変換
System.DateTime dt = System.DateTime.ParseExact(
date,
expectedFormats,
null,
System.Globalization.DateTimeStyles.None);
**和暦変換
using System;
using System.Globalization;
:
:
:
/* <summary>
/* 和暦日付を西暦に変換
/* </summary>
/* <param name="date">変換対象日付</param>
/* <param name="format">フォーマット</param>
/* <returns></returns>
public static string changeSeireki(string date, string format)
{
string [] expectedFormats = {"yyMMdd", "yy/MM/dd"};
CultureInfo culture = new CultureInfo("ja-JP", true);
culture.DateTimeFormat.Calendar = new JapaneseCalendar();
System.DateTime dt = System.DateTime.ParseExact(
date,
expectedFormats,
culture,
System.Globalization.DateTimeStyles.None);
return dt.ToString(format);
}
/* <summary>
/* 西暦日付を和暦に変換
/* </summary>
/* <param name="date">変換対象日付</param>
/* <param name="format">フォーマット</param>
/* <returns></returns>
public static string changeWareki(string date, string format)
{
string [] expectedFormats = {"yyMMdd", "yy/MM/dd", "yyyyMMdd", "yyyy/MM/dd", "yyyyMMddHHmm"};
CultureInfo culture = new CultureInfo("ja-JP", true);
culture.DateTimeFormat.Calendar = new JapaneseCalendar();
System.DateTime dt = System.DateTime.ParseExact(
date,
expectedFormats,
null,
System.Globalization.DateTimeStyles.None);
return dt.ToString(format, culture);
}
/* <summary>
/* 和暦日付の書式変換
/* </summary>
/* <param name="date">和暦日付</param>
/* <param name="format">フォーマット</param>
/* <returns></returns>
public static string changeDate(string date, string format)
{
string [] expectedFormats = {"yyMMdd", "yy/MM/dd"};
CultureInfo culture = new CultureInfo("ja-JP", true);
culture.DateTimeFormat.Calendar = new JapaneseCalendar();
System.DateTime dt = System.DateTime.ParseExact(
date,
expectedFormats,
culture,
System.Globalization.DateTimeStyles.None);
return dt.ToString(format, culture);
}
**日付や時刻を文字列に変換する
DateTime now = DateTime.Now;
Console.WriteLine(now); /* 出力例:2004/08/24 20:23:06
Console.WriteLine(now.ToString("yyyy/MM/dd HH:mm:ss"));
Console.WriteLine(now.ToString("yyyyMMddHHmmss"));
Console.WriteLine(now.ToString("yy年MM月dd日(ddd)"));
Console.WriteLine(now.ToString("hh時mm分ss秒"));
/* 出力例:
/* 2004/08/24 20:23:06
/* 20040824202306
/* 04年08月24日(火)
/* 08時23分06秒
表示オプション
横に並べて表示:
変化行の前後のみ表示: