如何创建具有特定日期格式的DateTime
实例?
我希望DateTime
的日期格式为:"yyyy-MM-dd"
。
是否可以获得此实例
var myDate = DateTime.Now.ToDateFormat("yyyy-MM-dd");
我必须拥有DateTime
个对象而不是string
。
答案 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();