我正在尝试按特定顺序格式化日期
Time = DateTime.Parse(p.Time.ToString("dd-MM-yyyy HH:mm:ss"))
Time
的数据类型为DateTime
但是我收到了这个错误:
方法“ToString”没有重载需要1个参数。
p是我从中得到时间表的对象。
List<ProductImageMapWrapper> lstpm = new List<ProductImageMapWrapper>();
lstpm = _db.ProductImageMaps.Where(i => i.ClientId == null && i.BrandId == null).Select(p => new ProductImageMapWrapper
{
Time= // Problem here
}
现在,我尝试以这种方式使用它
Time = DateTime.Parse(string.Format("{dd-MM-yyyy HH:mm:ss}", p.Time))
然后我收到了这个错误:
LINQ to Entities无法识别方法
System.DateTime Parse(System.String)
方法,并且此方法无法转换为商店表达式。
答案 0 :(得分:2)
String Time = Convert.ToDateTime(p.Time).ToString("dd-MM-yyyy HH:mm:ss");
答案 1 :(得分:1)
括号在错误的地方。您无法将其解析为该格式。你必须解析P,然后格式化为字符串。
DateTime.Parse(System.DateTime.Now).ToString("dd-MM-yyyy HH:mm:ss")
答案 2 :(得分:1)
在我看来,两种类型的Time属性(ProductImageMap和ProductImageMapWrapper)都是DateTime。如果是这样,那么您应该使用Time = p.Time
有一种常见的误解,即DateTime值以某种方式具有格式。实际上,在将DateTime值转换为字符串时应用给定的格式。要将DateTime值从一个位置复制到另一个位置,只需指定它即可。
答案 3 :(得分:0)
以下是如何从字符串中解析日期的示例,您可以更正此结构以使其工作:
string p = "21-11-2013 11:12:13";
DateTime time = DateTime.ParseExact(p, "dd-MM-yyyy HH:mm:ss", System.Globalization.CultureInfo.CurrentCulture);
答案 4 :(得分:0)
在您建议的日期格式中考虑p.Time
为string
值,我认为您要将string
解析为DateTime
,
CultureInfo provider = CultureInfo.InvariantCulture;
string format = "dd-MM-yyyy HH:mm:ss"; //This should be format that you get in string
List<ProductImageMapWrapper> lstpm = new List<ProductImageMapWrapper>();
lstpm = _db.ProductImageMaps.Where(i => i.ClientId == null && i.BrandId == null).Select(p => new ProductImageMapWrapper
{
Time = DateTime.ParseExact(p.Time, format, provider)
});
答案 5 :(得分:0)
可能会有帮助
var selectQuery=from add in db.address
select add.myDate.toString("{0:dddd, MMMM d, yyyy}");
selectQuery.Distinct();
正常转化。
DateTime time = DateTime.Now; // Use current time
string format = "MMM ddd d HH:mm yyyy"; // Use this format
Console.WriteLine(time.ToString(format));
1.MMM显示三个字母的月份
2.ddd显示WEEK的三个字母日
3.d MONTH的显示日
4.HH以24小时制显示两位数小时
5.mm显示两位数分钟
6.yyyy displayfour-digit year
答案 6 :(得分:0)
你想使用DateTime.ToString(格式)而不是Nullable.ToString(没有 过载):
的DateTime? myDate = form.dteStartDate; string sqlFormattedDate = myDate.Value.ToString(“yyyy-MM-dd HH:mm:ss”); 当然,这并不能解决没有价值的情况。也许是这样的:
string sqlFormattedDate = myDate.HasValue
? myDate.Value.ToString("yyyy-MM-dd HH:mm:ss")
: "<not available>";