C# 我在使用C读取的excel表格中设置日期时遇到问题#

C# 我在使用C读取的excel表格中设置日期时遇到问题#,c#,C#,/*所有这些都是用excel中的输入字段解析的输出字段*/ 公共无效导入() { CRMRecord r; 数据表dtCarrierData=LoadXL(真); foreach(dtCarrierData.Rows中的数据行dr) { r=新的CRMRecord(); r、 FleetID=“TN045”; r、 BillingCompany=“TCH”; r、 StationCode=ParseField(dr,“fp_卡车TopCode”); r、 DriverID=ParseField(

/*所有这些都是用excel中的输入字段解析的输出字段*/

公共无效导入() {

CRMRecord r;
数据表dtCarrierData=LoadXL(真);
foreach(dtCarrierData.Rows中的数据行dr)
{
r=新的CRMRecord();
r、 FleetID=“TN045”;
r、 BillingCompany=“TCH”;
r、 StationCode=ParseField(dr,“fp_卡车TopCode”);
r、 DriverID=ParseField(dr,“FP_单元号”);
r、 TransactionDate=ParseField(dr,“FP_transdate”);/*我有一个标准输出,transaction date=FP_transdate基本上是这样的,但问题是FP_transdate格式以“yyddMM”的形式出现,例如:210120210121,还有5个类似于列(FP_transdate)中的格式*/
DateTime FP_transdate=DateTime.ParseExact(“yyddMM”,“MM/dd/yyyy”,CultureInfo.InvariantCulture);/*这里有一个正在读取excel的输出,所有内容都正常,除了日期,我收到一个错误,说“处理异常-字符串未被识别为有效的日期时间”。输入(其“yy/dd/MM”,我需要它是“MM/dd/yyyy”,并且它来自外部源,因此我不能将excel中的单元格值更改为最新值*/
FP_transdate.ToString(“MM/dd/yyyy”);
r、 Ref1=ParseField(dr,“FP_truckstopinvnum”);
十进制trcFuelCost=ParseField(dr,“trcFuelCost”);
十进制reefFuelCost=ParseField(dr,“reefFuelCost”);
我已经弄明白了

r、 TransactionDate=ParseField(dr,“FP_transdate”)。子字符串(2,2)+“/”+ParseField(dr,“FP_transdate”)。子字符串(4,2)+“/”+“20”+ParseField(dr,“FP_transdate”)。子字符串(0,2)


也许有更好的方法来写这个,但这对我来说很有效。

欢迎来到堆栈溢出。请阅读以了解堆栈溢出的工作原理,并阅读如何提高您的问题的质量。然后,您的问题将包括您的完整源代码,其他人可以对其进行编译和测试。请花一点时间阅读这些代码帮助中心中的。堆栈溢出上的格式不同于其他网站上的格式。您的文章看起来越好,其他人就越容易阅读和理解。在
DateTime.ParseExact(“yyddMM”,“MM/dd/yyyy”,CultureInfo.InvariantCulture);
Where“yyddMM”中没有提供输入日期值是否在ParseExact之后??输入将来自excel列的FP_transdate。因此,将“yyddMM”替换为“FP_transdate”?
        CRMRecord r;
        DataTable dtCarrierData = LoadXL(true);

        foreach (DataRow dr in dtCarrierData.Rows)
        {
            

            r = new CRMRecord();
            r.FleetID = "TN045";
            r.BillingCompany = "TCH";
            r.StationCode = ParseField<string>(dr, "fp_truckstopcode");
            r.DriverID = ParseField<string>(dr, "FP_unitnumber");

            r.TransactionDate = ParseField<string>(dr, "FP_transdate"); /* I have a standard output and transaction date = FP_Transdate basically but the trouble is the FP_transdate format coming in as "yyddMM" Ex:210120, 210121, there are 5 more just like those in the column (FP_transdate) */
            DateTime FP_transdate = DateTime.ParseExact("yyddMM", "MM/dd/yyyy", CultureInfo.InvariantCulture); /* here is where I have an output that is reading an excel everything is reading fine except for date, i get an error saying "Processing exception - String was not recognized as a valid DateTime."  It is not formatted correctly in the input(its "yy/dd/MM", I need it to be "MM/dd/yyyy" and it comes from an outside source so I can't just change the cell value in excel to date. */
            FP_transdate.ToString("MM/dd/yyyy");
           
            r.Ref1 = ParseField<string>(dr, "FP_truckstopinvnum");

            decimal trcFuelCost = ParseField<decimal>(dr, "trcFuelCost");
            decimal reefFuelCost = ParseField<decimal>(dr, "reefFuelCost");