将DateTime.Now转换为dd/mm/yyyy格式的DateOnly。

6

我正在使用一个仅包含日期的变量,并尝试以dd/mm/yyyy格式获取DateTime.Now时间,但它只返回mm/dd/yyyy格式的日期。

我严格需要当前日期以dd/mm/yyyy格式显示,但我还没有找到如何实现。

以下是我转换DateTime.Now为DateOnly类型的示例:

public class Example
{
  public DateOnly? Date{get; set;}
}

public class Process1
{
  Example example = new Example();
  {
    example.Date= DateOnly.FromDateTime(DateTime.Now);
    //this is returning the current date in a mm/dd/yyyy format
  }
}

2
DateOnly is a binary struct, if you want to represent it as a string use formatting, say string text = Date.ToString(formatHere); - Dmitry Bychenko
2
DateTimeDateOnly没有格式。只有当该值被转换为字符串时,格式化才会发挥作用,可以明确地使用.ToString()进行显式转换,也可以通过多种方式隐式转换(因为您在调试器中查看它,将其提供给Console.WriteLine等)。 - Jeroen Mostert
这个回答解决了您的问题吗? C# DateTime转换为"YYYYMMDDHHMMSS"格式 - Aliasghar Ahmadpour
@AliasgharAhmadpour 那个答案不相关。DateTimeDateOnly根本没有格式,它们是二进制值。那个答案展示了如何使用特定格式将它们格式化为字符串。这些类型本身存储自0001-01-01以来的滴答或日偏移量。 - Panagiotis Kanavos
对不起,我选择了错误的链接并进行了编辑。 - Aliasghar Ahmadpour
2个回答

12

只能通过字符串而不是仅日期进行格式化。

将日期保存在仅日期数据类型中。

example.Date= DateOnly.FromDateTime(DateTime.Now);

但是当你需要指定格式时,请使用以下字符串


string s = example.Date.ToString("dd/M/yyyy", CultureInfo.InvariantCulture);
or 
s = example.Date.ToString("dd/MM/yyyy");

更多详情请参阅此链接


0

我在Example类中将Date变量设置为DateTime属性:

public DateTime Date { get; set; } = DateTime.Now;

在主要代码中,我将Date属性转换为字符串并将其赋值给dateOnly变量:

string dateOnly = Convert.ToString(example.Date.ToString("dd-mm-yyyy"));


不需要两次转换为字符串 - Pradeep Kumar
他需要的格式是“dd/mm/yyyy”,而不是“dd-mm-yyyy”。 - Pradeep Kumar

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