2

我的字符串是这样的“21.05.2013 00:00:00”

但我想要这样:“05/21/2013”​​;所以我使用了格式

String.Format("{0:M d yy}", myObject.StartAt.ToString());

但它产生的不是这个“05/21/2013”​​,而是这个“05.21.2013 00:00:00”

编辑区 ----------

我尝试了下面的代码,但它仍然给出错误的格式它仍然给出“05.20.2013”​​而不是“05/20/2013”​​;

  DateTime arrivalDate = DateTime.ParseExact(hotelSearchModel.StartAt.ToString(), "dd.MM.yyyy hh:mm:ss", CultureInfo.InvariantCulture);
        DateTime departureDate = DateTime.ParseExact(hotelSearchModel.StartAt.ToString(), "dd.MM.yyyy hh:mm:ss", CultureInfo.InvariantCulture);


        request.arrivalDate = arrivalDate.ToString("MM/dd/yyyy");

        request.departureDate = departureDate.ToString("MM/dd/yyyy");  
4

1 回答 1

2

StartAt字符串还是日期时间?如果是字符串,则需要将其转换为 DateTime 才能使格式生效。此外,您需要将格式模式更改为MM/dd/yyyy以获得05/21/2013

DateTime dt = DateTime.ParseExact(myObject.StartAt, "dd.MM.yyyy hh:mm:ss", CultureInfo.InvariantCulture);

string s = dt.ToString("MM/dd/yyyy");
于 2013-05-19T13:01:30.740 回答