我将以下日期存储为字符串
04.09.2009 (dd.mm.yyyy)
Run Code Online (Sandbox Code Playgroud)
现在我希望它改为这种格式:
2009/08/31 (yyyy/mm/dd)
Run Code Online (Sandbox Code Playgroud)
记住输出应该是一个字符串值,输入日期是一个字符串.
用最小的努力转换它的最佳方法是什么?
就像是:
public static string ConvertDateTimeFormat(string input, string inputFormat,
string outputFormat, IFormatProvider culture)
{
DateTime dateTime = DateTime.ParseExact(input, inputFormat, culture);
return dateTime.ToString(outputFormat, culture);
}
Run Code Online (Sandbox Code Playgroud)
(您可以指定null文化使用当前线程的文化.)
测试代码:
using System;
class Test
{
public static string ConvertDateTimeFormat(string input, string inputFormat,
string outputFormat, IFormatProvider culture)
{
DateTime dateTime = DateTime.ParseExact(input, inputFormat, culture);
return dateTime.ToString(outputFormat, culture);
}
static void Main()
{
Console.WriteLine(ConvertDateTimeFormat("04.09.2009", "dd'.'MM'.'yyyy",
"yyyy'/'MM'/'dd", null));
}
}
Run Code Online (Sandbox Code Playgroud)
为什么要将日期存储为字符串?这通常是一个坏主意......
要转换字符串,请将其解析为DateTime值,即字符串格式:
string newFormat = DateTime.ParseExact(theDate, "dd'.'MM'.'yyyy", CultureInfo.InvariantCulture).ToString("yyyy'/'MM'/'dd")
Run Code Online (Sandbox Code Playgroud)
(请注意,您需要在斜杠周围使用撇号来获取文字字符,否则它将使用文化的日期分隔符,这可能是不同的字符.)
| 归档时间: |
|
| 查看次数: |
14537 次 |
| 最近记录: |