如何计算年龄?

时间:2019-01-16 07:08:44

标签: javascript c# .net

从中有一个字段“ DatePicker”,我需要获取日期并将年龄插入“ NumericTextBox”字段中。

谢谢

<div>
<sq8:DatePicker runat="server" ID="dateDatePicker">
   <ClientEvents OnDateSelected="get_current_age"></ClientEvents>
</sq8:DatePicker>

<sq:BindableControl runat="server" TargetControlID="dateDatePicker" DataField="Date"></sq:BindableControl>

</div>
<div class="sqf-col-xs-4 sqf-control-group-v">
<sq8:Label runat="server" Text="Age" ID="lblAge"></sq8:Label>

<sq8:NumericTextBox runat="server" ID="txtAge"></sq8:NumericTextBox>
</div>

1 个答案:

答案 0 :(得分:0)

这可以在jQuery的帮助下完成。请参见下面的示例。

jQuery一起使用的是moment.js。原因是,在使用正常的javascript日期功能时,在多设备/浏览器环境中存在大量问题。为避免这种情况,建议使用标准/经过良好测试的JS日期库。有关Moment.JS

的更多信息

<html lang="en">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>jQuery UI Datepicker - Default functionality</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
  <link rel="stylesheet" href="/resources/demos/style.css">
  <script src="https://code.jquery.com/jquery-1.12.4.js"></script>
  <script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script> 
  <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.23.0/moment.min.js"></script>
</head>
<body>
 
<p>Date: <input type="text" id="datepicker"></p>
 
Your Age is: <span id="age">Pick a date</span> 
<script>
  $(document).ready(function() {
    $( "#datepicker" ).datepicker();
    
    $('#datepicker').change(function(){   
      var pickedDate = $(this).val();
      var a = moment(pickedDate,"MM/DD/YYYY");
      var b = moment(new Date());
      var c = b.diff(a,'years',true);
      $('#age').html(Math.floor(c) + ' year(s)');
    });
  } );
  </script>
</body>
</html>

我希望这会有所帮助。