如何将日期转换为“ccyymmddhhmmss”格式?

4
在C#中如何将日期转换为'ccyymmddhhmmss'格式?

3
你好,"c"这个词的含义不在这句话中给出。前面提到了时间单位,"c"可能是一个代表某种时间或日期值的缩写,但无法确定具体含义。 - chris_techno25
4
我的赌注是“世纪”。 - C.Evenhuis
@C.Evenhuis 谢谢您先生。我以前从未使用过 C 语言。它真的包含在格式化字母中吗? - chris_techno25
分钟,从00到59。月份,从01到12。 - Nagaraj S
请勿在问题标题中包含有关使用的语言的信息,除非没有这些信息就不合理。标签可以用来达到这个目的。 - Ondrej Janacek
大家好,非常感谢你们的友善支持... - Narasimha
3个回答

8
您可能想尝试这个...我不知道是否包括cc,所以我解决了cc的问题。
DateTime time = DateTime.Now;
string format = "yyMMddhhmmss";
Console.WriteLine(((Convert.ToInt32(time.ToString("yyyy")) / 100) + 1).ToString() + time.ToString(format));

对于 "yyMMddhhmmss" .... 请尝试这样做 ... 不要忘记大写的 M 是月份,小写的 m 是分钟。

DateTime dt = Convert.ToDateTime("8 Oct 10 19:00");
Console.WriteLine(dt.ToString("yyMMddhhmmss"));

我加了一个+1,因为现在我们已经进入21世纪了。它总是向上取整。 - chris_techno25
1
@Narasimha 没问题 :) 别担心... 这是互惠互利的情况。也许有一天我会需要你的帮助。让我们相互帮助 :) - chris_techno25
首先,我可能错了,但我认为你不能直接将其转换为所需的格式,因为这不是一个有效的日期格式。我们需要将其重新格式化为有效的日期,然后才能按照通常的方式进行格式化。等一下,我会用我的 Visual Studio 进行测试,看它是否被接受。 - chris_techno25
好的,我的错... 这是一个有效的日期格式... 我已经编辑了上面的代码。看看吧 :) - chris_techno25

1

@Chris_techno25:我冒昧地扩展了您的答案:

如果我们坚持Narashima的问题,他想要格式ccyymmddhhmmss。 所以我编写了这个扩展方法:

public static string IncludeCentury(this DateTime sourceDate, bool replace)
{
  var source = String.Format("{0}/{1}", sourceDate.Year / 100 + 1, sourceDate);
  if(replace)
    return Regex.Replace(source, "[^0-9]", "");
  else
    return source;
}

使用方法:

var includingCentury = DateTime.Now.IncludeCentury(true)
var includingCentury = DateTime.Now.IncludeCentury(false)

输出:

21218201491410
21/2/18/2014 9:18:10 AM

2121820149141021/2/18/2014 9:18:10 AM都不是ccyymmddhhmmss格式,那这个回答有什么意义呢? - eis

1
根据您的问题,我理解您想将C#日期对象格式化为指定格式?
最简单的方法是使用date.ToString("yyyyMMddHHmmss") - 其中date是日期对象...有几种选择 - 比如用12小时而不是24小时等。最好的选择是阅读http://msdn.microsoft.com/en-us/library/8kb3ddd4(v=vs.110).aspx并设置您需要的内容。
希望这可以帮到您。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接