我有一张每个地方都有的地方表:
string[] formats = {"M/d/yyyy", "MM/dd/yyyy",
"d/M/yyyy", "dd/MM/yyyy",
"yyyy/M/d", "yyyy/MM/dd",
"M-d-yyyy", "MM-dd-yyyy",
"d-M-yyyy", "dd-MM-yyyy",
"yyyy-M-d", "yyyy-MM-dd",
"M.d.yyyy", "MM.dd.yyyy",
"d.M.yyyy", "dd.MM.yyyy",
"yyyy.M.d", "yyyy.MM.dd",
"M,d,yyyy", "MM,dd,yyyy",
"d,M,yyyy", "dd,MM,yyyy",
"yyyy,M,d", "yyyy,MM,dd",
"M d yyyy", "MM dd yyyy",
"d M yyyy", "dd MM yyyy",
"yyyy M d", "yyyy MM dd"
};
DateTime dateValue;
foreach (string dateStringFormat in formats)
{
if (DateTime.TryParseExact(sqlDateTime, dateStringFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out dateValue))
}
用户可以在某个地方预约,他需要输入他想要的时间。我想验证时间是否在工作开始和工作结束之间。
我是var x=dateValue.ToString("yyyy-MM-dd"); // or any other format
的新手,我可以在控制器中轻松完成,但我想要最好的做法。我可以在ActiveRecord中加入规则,还是有其他方法可以做到这一点?
答案 0 :(得分:0)
您可以使用几个比较规则
['fromDate', 'compare', 'your_date_attribute' => 'toDate', 'operator' => '<',
'enableClientValidation' => false],
['toDate', 'compare', 'your_date_attribute' => 'toDate', 'operator' => '>',
'enableClientValidation' => false],
请参阅此内容以获取一些建议http://www.yiiframework.com/doc-2.0/guide-tutorial-core-validators.html