使用特定日期格式创建Datetime对象

时间:2016-05-25 11:08:53

标签: c# asp.net asp.net-mvc datetime datetime-format

如何创建具有特定日期格式的DateTime实例?

我希望DateTime的日期格式为:"yyyy-MM-dd"

是否可以获得此实例

var myDate = DateTime.Now.ToDateFormat("yyyy-MM-dd");

我必须拥有DateTime个对象而不是string

5 个答案:

答案 0 :(得分:3)

DateTime是一个存储日期和时间信息的类,它可以用很多方式表示为string(使用.ToString(format)来指定所需的格式);如果你想改变它的默认字符串reprsentation (即默认格式,为了不在你的代码中放置ToString(format)):

  CultureInfo culture = new CultureInfo(Thread.CurrentThread.CurrentCulture.Name, true);

  culture.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd";
  culture.DateTimeFormat.LongTimePattern = "HH:mm:ss";

  Thread.CurrentThread.CurrentCulture = culture;

  ...

  // 2016-05-25 14:26:46 
  // since "yyyy-MM-dd" + "HH:mm:ss" is a default format now
  Console.Write(DateTime.Now);

所以只要DateTime应该表示为string(通常是输入/输出操作),格式就是"yyyy-MM-dd HH:mm:ss"

答案 1 :(得分:0)

试试这个:

 string fromFormat = "dd/MM/yyyy HH:mm:ss";
  string toFormat = "yyyy-MM-dd HH:mm:ss";
  string mydate = DateTime.Now.ToString();
  DateTime newDate = DateTime.ParseExact(mydate, fromFormat, null);    
  String dat = newDate.ToString(toFormat);

答案 2 :(得分:0)

我还不能评论,所以我必须这样做。 将DateTime视为具有“月”,“日”和“周”属性的对象。在打印之前,没有日期格式。 您是否在javascript和C#日期格式(和/或模型绑定)之间出现问题?

答案 3 :(得分:0)

不完全确定问题是什么。我认为斯蒂芬提供了答案。 DateTime没有格式。但如果没有,那么我猜它是以下之一:

1)如何将字符串解析为DateTime?

// s is string containing date
DateTime s2d=DateTime.ParseExact(s, "yyyy-MM-dd", CultureInfo.InvariantCulture); 

2)如何获取仅限日期的组件,时间00:00:00.00000

DateTime dateOnly=myDate.Date;
DateTime dateOnlyNow=DateTime.Today; // For today's date.

答案 4 :(得分:0)

可以用不同的方式创建DateTime对象,例如:

    DateTime myDate0 = DateTime.Now;
    DateTime myDate1 = new DateTime(2016, 5, 25);
    DateTime myDate2 = new DateTime(2016, 5, 25, 16, 45, 59, 985);
    DateTime myDate3 = DateTime.ParseExact("2016-05-25", "yyyy-MM-dd", CultureInfo.InvariantCulture);

日期信息是可变的,可以通过不同方式进行更改,例如:

    myDate0 = myDate0.Subtract(new TimeSpan(12, 0, 0));

    myDate1 = myDate1.AddYears(15);

    myDate2 = myDate2.Add(new TimeSpan(31, 7, 45, 59));

    myDate3 = myDate3.AddDays(31);
    myDate3 = myDate3.AddHours(7);

DateTime对象可以用不同的方式表示为字符串,如Dmitry Bychenko和Beldi Anouar所写,例如:

    string string0 = myDate0.ToString("yyyy-MM-dd");
     string string1 =  myDate1.ToShortDateString();