如果您确定 set datetime 方法将调用ToString()并将其保存在您的第三方库中,那么您可以使用以下类
public static class ThirdPartyLibHelper {
public static void SetSecondDate(DateTime dateTime) {
Thread.CurrentThread.CurrentCulture=new System.Globalization.CultureInfo("en-Us");
var dateTimeFormat=Thread.CurrentThread.CurrentCulture.DateTimeFormat;
dateTimeFormat.SetAllDateTimePatterns(new[] { "" }, 'T');
dateTimeFormat.SetAllDateTimePatterns(new[] { "yyyy-MM-dd" }, 'd');
thirdPartyLib.SetSecondDate(dateTime);
}
public static void SetFirstDate(DateTime dateTime) {
Thread.CurrentThread.CurrentCulture=new System.Globalization.CultureInfo("en-Us");
var dateTimeFormat=Thread.CurrentThread.CurrentCulture.DateTimeFormat;
dateTimeFormat.SetAllDateTimePatterns(new[] { "" }, 'T');
dateTimeFormat.SetAllDateTimePatterns(new[] { "dddd, MMMM dd, yyyy" }, 'd');
thirdPartyLib.SetFirstDate(dateTime);
}
}
测试代码
DateTime firstDate=new DateTime(2013, 02, 07);
DateTime secondDate=new DateTime(2013, 02, 07);
ThirdPartyLibHelper.SetSecondDate(firstDate);
var secondDateString=secondDate.ToString();
ThirdPartyLibHelper.SetFirstDate(firstDate);
var firstDateString=firstDate.ToString();
Debug.Print("{0}", firstDateString);
Debug.Print("{0}", secondDateString);
如果您的库在您调用SetFirstDate()or时没有将日期时间保存为格式化字符串SetSecondDate(),则它不起作用。