【发布时间】:2020-10-21 18:15:07
【问题描述】:
基本上,我接受到期日期。假设 12/24。我提交给它的 API 非常具体,没有斜线,而且必须是年份。
删除斜线很容易:
var dt = Convert.ToString(payment.ExpirationDate.Replace("/", string.Empty));
所以,现在我的字符串中有一个 4 位数字,我想我也可以 Convert.ToInt32 并有一个 int。
但无论哪种方式,我都不确定如何拆分和交换。对于字符串,它需要一个字符,而不是一个数字。
【问题讨论】:
-
尝试用
/分割字符串,然后你将拥有一个可以调用Reverse的数组来重新排序。如果它仍然必须是一个字符串,您可以使用/或其他任何东西加入数组。 api 需要的具体格式是什么? -
不清楚你在问什么。 您尝试过什么?您需要帮助的哪一部分?语言文档和许多解释如何操作字符串的教程中有大量信息。请发布您为解决问题而编写的代码,说明该代码的作用、您希望它做什么以及具体您需要什么帮助。
-
Console.WriteLine(DateTime.ParseExact("12/24", "MM/yy", CultureInfo.CurrentCulture).ToString("yyMM")); -
如果您当前有一个字符串,我不会使用 DateTime。您可能会遇到解析问题。例如,如果年份为 49 或更少,则默认为当前世纪。 50 或更高将是上个世纪。您还存在时区和偏移量的问题(诚然,如果您只有月份和年份,应该没有影响)。日期更容易编程为字符串,除非您对其进行操作(添加日期、转换偏移量等)。
-
@ps2goat 在下面的回答中添加了一种避免两位数问题的方法。
标签: c# datetime date-formatting