帮助日期时间格式,我需要

问题描述:

我有日期时间的工作,试图获取日期在这样的格式:帮助日期时间格式,我需要

03.05.2010-04.05.23那就是:dd.MM.yyyy-HH.mm.ss

我使用DateTime.ParseExact努力实现这个(也许是错误的)

到目前为止,我有:

var dateInFormat = DateTime.ParseExact(DateTime.Now.ToShortDateString(), "dd.MM.yyyy.HH.mm.ss", null); 

但不能完全得到正是我想要的。基本上我想保持0,例如时间是05:03:20 PM我不希望它显示像5:3:20 PM

任何想法?

+0

目的是为文件加上时间戳 – baron 2010-05-03 06:43:55

如果你有一个日期,日期时间(不串),那么你可以为leppie表示格式化dd.MM.yyyy-HH.mm.ss那么你可以使用

string mydate = "03.05.2010-04.05.23"; 
DateTime dateFromString = DateTime.ParseExact(mydate, "dd.MM.yyyy-HH.mm.ss", null); 

你得到的异常,因为你的字符串格式不正确(即系统的短日期格式) -

+0

其实我只是试图解析时间“现在”到这种格式,这就是为什么我使用'DateTime.Now.ToShortDateString()' – baron 2010-05-03 06:47:15

+0

请参阅我的修订答案 – 2010-05-03 06:53:17

+0

@baron:你似乎混淆了术语。解析通常意味着采取一个字符串并从中获取结构化数据(如DateTime)。如果你从DateTime开始(你从DateTime.Now得到的),你不会解析。 – 2010-05-03 10:05:16

仅仅使用ToString()有什么问题吗?例如:

string date = DateTime.Now.ToString("dd.MM.yyyy-HH.mm.ss"); 

如果在另一方面,你有一个日期格式字符串:

Console.WriteLine(dateInFormat.ToString("dd.MM.yyyy-HH.mm.ss")); 
+0

对不起,我应该解释过,实际上它在该行上崩溃:'FormatException':字符串不被识别为有效的DateTime – baron 2010-05-03 06:42:05

+2

应该不是'DateTime.Now.ToString(.. 。)'? – Jens 2010-05-03 06:47:55

+0

@Jens:任何DateTime都可以,不会吗? – leppie 2010-05-03 07:08:32