需要将特定文本格式转换为日期格式MM / DD / YYYY

时间:2015-09-14 21:49:56

标签: excel excel-formula

我从.csv / Excel中的用户帐户的Active Directory导出,其中创建日期的单元格为常规格式(文本?),如下所示: 单元格20150903075605.0Z中的A1我需要将日期格式转换为MM/DD/YYYY。我相信文本会转换为2015/09/03,但我可能错了。

到目前为止我尝试过:

  1. 删除.0Z,然后更改为2.01509E+ 13。然后在 相邻单元格(B1)我尝试=DATE(A1),它给了我#VALUE
  2. 尝试=DATE(LEFT(C2,2)+100,MID(C2,3,2),RIGHT(C2,2)),但这给了我 一个模糊的日期4/12/2020

3 个答案:

答案 0 :(得分:2)

此公式将A1中的值转换为真实数字:

if (cell != null)
{

    if (cell.ColumnIndex == 0)
    {

        double d = double.Parse(cell.Text);
         conv = DateTime.FromOADate(d);

         DataTable dtx = DBConn.getDataTable("Select * from MyTable where DDate = '" + conv + "'");

         if (dtx.Rows.Count > 0)
         {
             ForceContinue = true;
             break;
         }
         else
         {
             newRecordCount++;            //new record count ^                            
         }

      Temp1 = Temp1.Replace("<DDate>", conv.ToString("yyyy-MM-dd hh:mm:ss tt"));
    }
}

您应该将数字格式应用于使用公式的单元格。数字格式为:=DATE(LEFT(A1,4),MID(A1,5,2),MID(A1,7,2)) 。在Excel中,数字格式通常是处理日期的最佳方式。

如果您需要文字而不是真实日期,那么:

mm/dd/yyyy

答案 1 :(得分:0)

让我们说20150903075605.0Z包含在单元格A1中,然后您可以通过以下连接获取MM / DD / YYYY日期格式:

mid(A1, 5, 2) & "/" & mid(A1, 7, 2) & "/" & left(A1, 4)

答案 2 :(得分:0)

所以这就是我为解决这个问题所采取的措施。首先剥离.0Z。

单元格A2:20040330191012通过键入= DATE(MID(C2,1,4),MID(C2,5,2),MID(C2,7,等)将其转换为B2中的日期(MM / DD / YYYY) 2))给了我3/30/2004。

我很确定这是正确的,但如果你们其中一位大师能够证实,那将非常感激。