有没有办法可以将DatePicker的返回值更改为" yyyy-MM-dd"?我将值插入到SQLite数据库中,因此必须采用该格式才能对值执行datetime()语句。
DateTime formatStartDate = DateTime.Parse(StartDate);
StartDate= formatStartDate.ToString("yyyy-dd-MM");
DateTime formatEndDate = DateTime.Parse(EndDate);
EndDate = formatEndDate.ToString("yyyy-dd-MM");
这就是我一直在使用的东西,它在某种程度上起作用。当我把字符串作为" yyyy-MM-dd"它改变了所有并插入到数据库中作为" yyyy-dd-MM",所以我必须将字符串更改为" yyyy-dd-MM"解决这个问题,并在数据库中插入我想要的方式,因为" yyyy-MM-dd"格式(奇怪)。
我可以使用它,因为它做了我想要它做的事情,即使它没有意义,但是当我尝试验证StartDate和EndDate以便在#34; now"之前的日期。无法选择,它必须让所有人感到困惑,因为在我的代码中有很多不同的日期格式,并且它试图将上面的格式化日期与来自的默认日期值进行比较使用DatePicker。
我如何验证;
if (DateTime.Parse(StartDate) < DateTime.Now)
MessageBox.Show("Please select a start date that is today or in the future.");
if (DateTime.Parse(EndDate) < DateTime.Now)
MessageBox.Show("Please select an end date that is today or in the future.");
看起来像是一个简单的解决方案,但我无法在网上找到任何解决方法。我读过的大多数帖子或文章似乎只是处理前端格式。有什么方法可以将DatePicker返回的值更改为&#34; yyyy-MM-dd&#34;?
(StartDate和EndDate是绑定到DatePickers的字符串)
修改;
<tk:DatePicker
Grid.Row="1"
Grid.Column="0"
FontSize="20"
Value="{Binding StartDate, Mode=TwoWay}"
Background="LightGray"
Foreground="#b71918"
BorderThickness="0"
Width="200"
HorizontalAlignment="Left"
VerticalAlignment="Top"/>
<tk:DatePicker
Grid.Row="1"
Grid.Column="1"
FontSize="20"
Value="{Binding EndDate, Mode=TwoWay}"
Background="LightGray"
Foreground="#b71918"
BorderThickness="0"
Width="200"
HorizontalAlignment="Left"
VerticalAlignment="Top"/>
在我的保存按钮中(我希望格式为&#34; yyyy-MM-dd&#34;但它会更改为&#34; yyyy-dd-MM&#34;当它被插入时,所以我格式化为&#34; yyyy-dd-MM&#34;它插入&#34; yyyy-MM-dd&#34;,我实际想要它的方式);
DateTime formatStartDate = DateTime.Parse(StartDate);
string fsd = formatStartDate.ToString("yyyy-dd-MM");
DateTime formatEndDate = DateTime.Parse(EndDate);
string fed = formatEndDate.ToString("yyyy-dd-MM");
// gets all confused cause of the above formatting
if (DateTime.Parse(StartDate) < DateTime.Now)
MessageBox.Show("Please select a start date that is today or in the future.");
if (DateTime.Parse(EndDate) < DateTime.Now)
MessageBox.Show("Please select an end date that is today or in the future.");
var insertGoal = new GoalsTrackerModel
{
GoalName = GoalName,
GoalDesc = GoalDesc,
StartDate = fsd,
EndDate = fed,
IsOpen = 1,
IsComplete = 0
};
_dbHelper.Insert<GoalsTrackerModel>(insertGoal);
MessageBox.Show("New goal saved. Good luck!");
public string StartDate
{
get { return _startDate; }
set
{
if (_startDate != value)
_startDate = value;
OnPropertyChanged("StartDate");
}
}
public string EndDate
{
get { return _endDate; }
set
{
if (_endDate != value)
_endDate = value;
OnPropertyChanged("EndDate");
}
}