naoya.net@Wiki

日付

最終更新:

匿名ユーザー

- view
管理者のみ編集可

日付や時刻の文字列を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秒
目安箱バナー