Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 使用角省道将日期绑定到InSubtbox_Html_Angular Dart_Inputbox - Fatal编程技术网

Html 使用角省道将日期绑定到InSubtbox

Html 使用角省道将日期绑定到InSubtbox,html,angular-dart,inputbox,Html,Angular Dart,Inputbox,我正在构建一个webapp,其中包含带有日期的输入框。如何将数据绑定到我的背景代码? 我试着直接这样做,但我猜inputbox只能处理字符串,所以a使用了转换为字符串的方法等等 <div> <label>start date: </label> <input [(ngModel)]="item.stringStartDate" placeholder="start date" type="date"> </div>

我正在构建一个webapp,其中包含带有日期的输入框。如何将数据绑定到我的背景代码? 我试着直接这样做,但我猜inputbox只能处理字符串,所以a使用了转换为字符串的方法等等

<div>
    <label>start date: </label>
    <input [(ngModel)]="item.stringStartDate" placeholder="start date" type="date">
</div>


void set startDate(DateTime startDate)
{
    _startDate = startDate;
}

void set stringStartDate(String startDate)
{
    this.startDate = parseDate(startDate);
}


static DateTime parseDate(String formattedString)
{
    final RegExp r = new RegExp(
        r'^(\d\d)-?(\d\d)-?([+-]?\d{4,6})');

    Match match = r.firstMatch(formattedString);
    if (match != null)
    {
        int years = int.parse(match[3]);
        int month = int.parse(match[2]);
        int day = int.parse(match[1]);

        return new DateTime(years, month, day);
    }
    else
    {
        throw new FormatException("Invalid date format", formattedString);
    }
}

static String dateToString(DateTime date){
    if (date == null)
        return null;

    String ret = "${date.year}/";

    if (date.month < 10)
        ret+="0";
    ret+="${date.month}/";

    if (date.day < 10)
        ret += "0";
    ret+="${date.day}";

    return ret;
}

开始日期:
无效集开始日期(日期时间开始日期)
{
_开始日期=开始日期;
}
无效集stringStartDate(字符串startDate)
{
this.startDate=parseDate(startDate);
}
静态日期时间解析日期(字符串格式化字符串)
{
最终RegExp r=新RegExp(
r'^(\d\d)-?(\d\d)-?([+-]?\d{4,6}');
Match Match=r.firstMatch(格式化字符串);
如果(匹配!=null)
{
int years=int.parse(匹配[3]);
int month=int.parse(匹配[2]);
int day=int.parse(匹配[1]);
返回新的日期时间(年、月、日);
}
其他的
{
抛出新的FormatException(“无效的日期格式”,formattedString);
}
}
静态字符串dateToString(日期时间日期){
如果(日期==null)
返回null;
字符串ret=“${date.year}/”;
如果(日期月<10)
ret+=“0”;
ret+=“${date.month}/”;
如果(日期<10天)
ret+=“0”;
ret+=“${date.day}”;
返回ret;
}

它应该用
-
来分隔,而不是用
/

您可以使用
toiso8601字符串
子字符串

DateTime _date = new DateTime.now();

String get date => _date.toIso8601String().substring(0, 10);

void set date(value) {
  if (value is DateTime) {
    _date = value;
  } else if (value is String) {
    _date = DateTime.parse(value);
  }
}