BirthDate = new DateTime(2015,12,30, 00, 0, 0);
// and Tried this too
//BirthDate = new DateTime(2015,12,30);
Console.WriteLine(BirthDate);
结果如下:
12/30/2015 12:00:00 AM
我想要实现的目标是:
12/30/2015 00:00:00
或:
二零一五年十二月三十零日
我是否可以使用DateTime
在控制台应用中执行此操作?
[编辑]
我知道如何在
Console.WriteLine
方法中格式化字符串或操纵字符串。我是什么 这里问的是DateTime
课程中是否有方法可以做 此
答案 0 :(得分:3)
试试这个
Console.WriteLine(BirthDate.ToString("MM/dd/yyyy"));
正如Panagiotis Kanavos在评论中提到的那样,你也可以用这种方式格式化
Console.WriteLine("{0:MM/dd/yyyy}", BirthDate);
答案 1 :(得分:2)
这里有已经正确的答案,但让我试着解释一下......
由于没有Console.WriteLine(DateTime)
重载,您的代码会调用Console.WriteLine(object)
重载,而对于DateTime
类型,此方法会生成G
standard format specifier代表CurrentCulture
这意味着您的MM/dd/yyyy hh:mm:ss tt
和ShortDatePattern
属性的组合为CurrentCulture
的{{1}}。
从这个结果中,您得到CurrentCulture
/
LongTimePattern
和:
DateSeparator
,这对您想要的结果非常有用。由于这些分隔符,您无需使用其他IFormatProvider
来生成精确结果。
只需使用TimeSeparator
格式化您的值,
Console.WriteLine("{0:MM/dd/yyyy HH:mm:ss}", BirthDate); // 12/30/2015 00:00:00
Console.WriteLine("{0:MM/dd/yyyy}", BirthDate); // 12/30/2015
或使用相同的DateTime.ToString()
方法;
Console.WriteLine(BirthDate.ToString("MM/dd/yyyy HH:mm:ss")); // 12/30/2015 00:00:00
Console.WriteLine(BirthDate.ToString("MM/dd/yyyy");// 12/30/2015
答案 2 :(得分:0)
使用指定的格式和当前文化的格式约定,将当前DateTime对象的值转换为其等效的字符串表示。
Console.WriteLine(BirthDate.ToString("MM/dd/yyyy");
答案 3 :(得分:0)
使用日期属性,例如:
var dateAndTime = DateTime.Now;
var date = dateAndTime.Date;
日期变量将包含日期,然后时间将显示00:00:00 ..
答案 4 :(得分:0)
您可以参考标准日期和时间格式字符串以获取大量选项。 msdn.microsoft.com/en-us/library/az4se3k1(v=vs.110).aspx
根据您的要求,您可以执行以下示例。 (在这个帖子中已被其他人提及)
BirthDate = new DateTime(2015,12,30, 0, 0, 0);
// and Tried this too
//BirthDate = new DateTime(2015,12,30);
// 12/30/2015 00:00:00
Console.WriteLine(BirthDate.ToString("MM/dd/yyyy HH:mm:ss"));
// or
// 12/30/2015
Console.WriteLine(BirthDate.ToString("MM/dd/yyyy"));
答案 5 :(得分:-1)
var datetime = BirthDate.Date.ToShortDateString();
Console.WriteLine(datetime);
答案 6 :(得分:-1)
在没有硬编码格式字符串的情况下执行此操作的另一种方法是:
var currentCulture = CultureInfo.CurrentCulture;
var shortDatePattern = currentCulture.DateTimeFormat.ShortDatePattern;
Console.WriteLine(DateTime.Today.ToString(shortDatePattern));