[DllImport("kernel32.dll")]
static extern int GetDateFormat(uint Locale, uint dwFlags, IntPtr lpDate,
string lpFormat, [Out] StringBuilder lpDateStr, int cchDate);
None.
None.
Please add some!
Please add some!
// I couldn't make the GetDateFormat call work in C# but this works a treat!
/// <summary>
/// Provide a translated long date using the given format.
/// </summary>
/// <param name="languageConstant">Also known as the Locale.</param>
/// <param name="date">DateTime in a FileTime (int64) format.</param>
/// <param name="dateFormatString">Standard date format string.</param>
/// <returns></returns>
internal static string GetTranslatedDateString(long languageConstant, long date, string dateFormatString)
{
if (languageConstant == 0 || date == 0 || dateFormatString == null) { return null; }
try
{
// Translate our particular chosen date format into a .Net DateTime
DateTime dateTime = DateTime.FromFileTime(date);
// Create a culture info object for the given culture (could use the string e.g. "DE-de" as an alternative)
CultureInfo cultureInfo = new CultureInfo((int)languageConstant);
cultureInfo.DateTimeFormat.LongDatePattern = dateFormatString;
DateTimeFormatInfo dtFormatInfo = cultureInfo.DateTimeFormat;
return dateTime.ToString("D", dtFormatInfo);
}
catch (Exception ex) { // etc. }
}