如何从 DateTimeOffsetDateTimeOffset 对象中提取日期?我认为 Date 属性只返回日期部分。但是,我总是得到整个日期,即 7/17/2014 12:00:00 AM -04:00 。我只想获得 2014年7月17日的日期部分。
这是我的代码。
Func<DataRow, string, DateTimeOffset?> getFieldNullableDate = (row, field) =>
{
if (!string.IsNullOrWhiteSpace((row[field] ?? string.Empty).ToString()))
return DateTimeOffset.Parse(row[field].ToString()).Date;
else
return null;
};
感谢您的帮助。
答案 0 :(得分:3)
您可以使用此功能仅从MM/DD/YYYY
变量中提取DateTimeOffset?
。
DateTimeOffset? testOne = null;
var final = testOne.HasValue ? testOne.Value.Date.ToShortDateString() : null;//null
DateTimeOffset? testTwo = new DateTimeOffset(DateTime.Today);
var notNull = testTwo.HasValue
? testTwo.Value.Date.ToShortDateString()
: null;// 7/24/2014
答案 1 :(得分:1)
实际上,DateTimeOffSet对象具有可以使用的Date和DateTime属性: 例子
DateTimeOffset? offset = new DateTimeOffset(DateTime.Today);
var dateTime = offset.HasValue ? offset.Value.DateTime : DateTime.MinValue.Date;
var date = offset.HasValue ? offset.Value.Date : DateTime.MinValue.Date;
Console.WriteLine($"date time:{dateTime} and date:{date}");
答案 2 :(得分:0)
从DateTime删除时间信息
DateTime now = DateTime.Now;
DateTime datePart = new DateTime(now.Year, now.Month, now.Day);
答案 3 :(得分:-1)
我没有查看您的代码,但我相信您正在寻找这种方法:
public string ToShortDateString()
示例:
DateTime thisDay = DateTime.Today;
thisday = thisday.ToShortDateString();