我从.csv / Excel中的用户帐户的Active Directory导出,其中创建日期的单元格为常规格式(文本?),如下所示:
单元格20150903075605.0Z
中的A1
我需要将日期格式转换为MM/DD/YYYY
。我相信文本会转换为2015/09/03
,但我可能错了。
到目前为止我尝试过:
.0Z
,然后更改为2.01509E+ 13
。然后在
相邻单元格(B1
)我尝试=DATE(A1)
,它给了我#VALUE
=DATE(LEFT(C2,2)+100,MID(C2,3,2),RIGHT(C2,2))
,但这给了我
一个模糊的日期4/12/2020
。答案 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。
我很确定这是正确的,但如果你们其中一位大师能够证实,那将非常感激。