将DateTime转换为string格式(“yyyyMMdd”)

我有一个问题转换为string格式的date时间,但我不能将其转换为yyyyMMdd格式。

我的代码是:

string tpoc = refSubClaim.BenefitsFolder.BenefitFolderIdNumber.ToString(); string[] tpocinfo = Regex.Split(tpoc,";"); for (int i = 0; i < tpocinfo.Length; i++) { switch (i) { case 0: { string[] tpoc2 = Regex.Split(tpocinfo[0], ","); claimantAuxillaryRecord.TPOCDate2 = tpoc2[0].ToString(); claimantAuxillaryRecord.TPOCAmount2 = Convert.ToDecimal(tpoc2[1]); claimantAuxillaryRecord.FundingDelayedBeyondTPOCStartDate2 = tpoc2[2].ToString(); } break; 

如果你在格式为“ddMMyyyy”的string中有一个date,并且想把它转换为“yyyyMMdd”,你可以这样做:

 DateTime dt = DateTime.ParseExact(dateString, "ddMMyyyy", CultureInfo.InvariantCulture); dt.ToString("yyyyMMdd"); 

parsingdate时间:

要parsingDateTime,请使用以下方法之一:

  • DateTime.Parse
  • DateTime.ParseExact

或者,你可以使用try-parse模式:

  • DateTime.TryParse
  • DateTime.TryParseExact

详细了解自定义date和时间格式string 。


将DateTime转换为string:

要以“yyyyMMdd”格式返回DateTime作为string,可以使用ToString方法。

  • 代码片段的例子: string date = DateTime.ToString("yyyyMMdd");
  • 注意大写字母M表示月份,小写字母m表示分钟。

你可以把你的string转换成如下所示的DateTime值:

 DateTime date = DateTime.Parse(something); 

您可以将DateTime值转换为格式化的string,如下所示:

 date.ToString("yyyyMMdd"); 

string为yyyy-MM-dddate格式:示例:

 TxtCalStDate.Text = Convert.ToDateTime(objItem["StartDate"]).ToString("yyyy/MM/dd"); 

如果您希望将TIME作为string进行计算, 我们可以这样做:

 //Date and Time is taking as current system Date-Time DateTime.Now.ToString("yyyyMMdd-HHMMss"); 

如果你想匹配一个特定的date格式使用DateTime.TryParseExact()

  string format = "yyyyMMdd"; DateTime dateTime; DateTime.TryParseExact(dateString, format, CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTime); 

您可以使用DateTime.TryParse()而不是DateTime.Parse()
使用TryParse() ,如果成功,则返回值,如果使用Parse() ,则必须处理exception

没有它与yyyy / mm / dd的string,我需要它在yyyyMMdd格式

如果你只需要从一个string中删除斜杠,你不要把它们replace掉吗?

例:

 myDateString = "2013/03/28"; myDateString = myDateString.Replace("/", ""); 

myDateString现在应该是“20130328”。

less了一个矫枉过正的:)

基于属性名称,它看起来像你试图通过赋值将string转换为date:

 claimantAuxillaryRecord.TPOCDate2 = tpoc2[0].ToString(); 

这可能是由于当前的用户界面文化,因此它不能正确解释datestring时分配。

只需要这样做。

 string yourFormat = DateTime.Now.ToString("yyyyMMdd"); 

快乐编码:)

我在search这个答案时遇到了一个更简单的方法;

 string date = DateTime.Now.ToString("yyyyMMdd", System.Globalization.CultureInfo.GetCultureInfo("en-US")); 

你可以试试这些代码

 claimantAuxillaryRecord.TPOCDate2 = Convert.ToDateTime(tpoc2[0]).ToString("yyyyMMdd"); 

要么

 claimantAuxillaryRecord.TPOCDate2 = Convert.ToDateTime(tpoc2[0]).ToString("yyyyMMdd hh:mm:ss"); 

这是转换为格式的简单方法

  DateTime.Now.ToString("yyyyMMdd");