如何将DateTime转换为特定字符串格式(两种方式,例如给定格式为"yyyyMMdd")?

Ash*_*osh 125 c# string datetime

我在转换日期时间时出现问题,该日期时间是字符串格式,但我无法使用"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;
Run Code Online (Sandbox Code Playgroud)

Fal*_*234 216

如果您的字符串中的日期格式为"ddMMyyyy"并想将其转换为"yyyyMMdd",您可以这样做:

DateTime dt = DateTime.ParseExact(dateString, "ddMMyyyy", 
                                  CultureInfo.InvariantCulture);
dt.ToString("yyyyMMdd");
Run Code Online (Sandbox Code Playgroud)

  • 坚持你的代码,这个工作得很好DateTime.TryParse(stringValue,out outputInDateTime); (3认同)

Dar*_*iak 62

解析日期时间:

要解析DateTime,请使用以下方法之一:

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

了解更多关于自定义日期和时间格式字符串.

将DateTime转换为字符串:

要以"yyyyMMdd"格式将DateTime作为字符串返回,您可以使用ToString方法.

  • 代码段示例: string date = DateTime.ToString("yyyyMMdd");
  • 注意上限M表示月份,而下限表示m表示分钟.

你的情况:

在您的情况下,假设您不希望处理日期不同格式或错误的情况,使用最方便ParseExact:

string dateToParse = "20170506";
DateTime parsedDate = DateTime.ParseExact(dateToParse, 
                                          "yyyyMMdd",
                                          CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

  • 这是一个古老的话题,但对于那些搜索,上面的链接,"文化特定格式"现在是一个死链接.这是一个当前和信息丰富的[自定义日期和时间格式字符串](http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx) (6认同)

SLa*_*aks 37

您可以将字符串转换为如下DateTime值:

DateTime date = DateTime.Parse(something);
Run Code Online (Sandbox Code Playgroud)

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

date.ToString("yyyyMMdd");
Run Code Online (Sandbox Code Playgroud)


小智 11

字符串到yyyy-MM-dd日期格式:示例:

TxtCalStDate.Text = Convert.ToDateTime(objItem["StartDate"]).ToString("yyyy/MM/dd");   
Run Code Online (Sandbox Code Playgroud)


小智 11

如果你想把DATE作为带有TIME的字符串.我们可以这样做:

    //Date and Time is taking as current system Date-Time    
    DateTime.Now.ToString("yyyyMMdd-HHmmss");
Run Code Online (Sandbox Code Playgroud)

  • 分钟小得"m"!"YYYYMMDD-HHMMSS" (7认同)

Mud*_*san 6

使用 DateTime.TryParseExact(),如果你要匹配特定的日期格式

   string format = "yyyyMMdd"; 
    DateTime dateTime;
    DateTime.TryParseExact(dateString, format, CultureInfo.InvariantCulture,
                                             DateTimeStyles.None, out dateTime);
Run Code Online (Sandbox Code Playgroud)


pet*_*ter 5

你可以用DateTime.TryParse()而不是DateTime.Parse().
有了TryParse()你有一个返回值是否成功,并与Parse()你必须处理异常


小智 5

只需采用这种方式即可。

string yourFormat = DateTime.Now.ToString("yyyyMMdd");
Run Code Online (Sandbox Code Playgroud)

快乐的编码:)