如何将 DateTime 转换为/从特定的字符串格式(两种方式,例如给定的 Format 是“ yyyyMMdd”) ?

我有一个问题转换日期时间是在字符串格式,但我不能转换它使用 "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;
790211 次浏览

解析日期时间:

若要分析 DateTime,请使用下列方法之一:

或者,你可以使用 尝试解析模式:

了解更多关于 自定义日期和时间格式字符串的信息。

将 DateTime 转换为字符串:

若要以“ yyyyMMdd”格式将 DateTime 作为字符串返回,可以使用 ToString方法。

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

你的情况:

在您的情况下,假设您不想处理日期格式不同或丢失的场景,那么使用 ParseExact将是最方便的:

string dateToParse = "20170506";
DateTime parsedDate = DateTime.ParseExact(dateToParse,
"yyyyMMdd",
CultureInfo.InvariantCulture);

您可以像下面这样将字符串转换为 DateTime值:

DateTime date = DateTime.Parse(something);

您可以像下面这样将 DateTime值转换为格式化的字符串:

date.ToString("yyyyMMdd");

根据属性名称,您似乎正试图通过赋值将字符串转换为日期:

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

这可能是由于当前的 UI 区域性,因此在分配时无法正确解释日期字符串。

如果您有一个格式为“ ddMMyyyy”的字符串中的日期,并希望将其转换为“ yyyMMdd”,您可以这样做:

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

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

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

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

不,它是一个字符串 yyyy/mm/dd,我需要它的 yyyMMdd 格式

如果您只需要删除字符串中的斜杠,是否只需要替换它们?

例如:

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

MyDateString 现在应该是“20130328”。

少一点过度杀戮:)

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

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

我在寻找这个答案的过程中也遇到了一个更简单的方法;

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

如果你也想把 日期作为字符串和 时间一起使用,我们可以这样做:

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

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

 DateTime.Now.ToString("yyyyMMdd");

你可以试试这些密码

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

或者

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

就这样做。

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

快乐编码:)

C # 6:

var dateTimeUtcAsString = $"{DateTime.UtcNow:o}";

结果将是: “2019-01-15T11:46:33.2752667 Z”