使用日期差异输出字符串
use date difference to output a string
我正在创建一个网站,您可以在该网站上注册一条狗。
在注册表中,您可以使用 jquery 日期选择器输入您爱犬的生日。这部分有效。
目标
1)当用户选择生日时,我想自动计算输入日期和今天之间的差异。
2)使用日期之间的差异在另一个表单字段中显示狗的年龄组。
(小狗(<6个月),年轻(<2岁),成年(<6岁)等.. )
我的代码
<!-- Datepicker -->
<script>
$(function() {
$( "#datepicker" ).datepicker({
dateFormat: "dd. MM yy",
altFormat: "yy-mm-dd",
altField: "#dog_pet_birthdate",
maxDate: "0",
<!-- my attempt on calculating the difference
between the entered date and the current date -->
onSelect: function () {
var birthDate = $("#dog_pet_birthdate").datepicker("birthdate");
var now = new Date();
var days = (now - birthDate) / (1000 * 60 * 60 * 24);
$("#dog_pet_age").val(days);
}
});
});
</script>
<!-- the register form (the relevant parts)-->
<label>Birthday:</label>
<!-- date to be displayed -->
<input type="text" name="birthdate" id="datepicker" placeholder="your dog's brithdate" readonly="readonly" required>
<!-- date to be written to the database using the altField -->
<input type="hidden" name="dog_pet_birthdate" id="dog_pet_birthdate">
<!-- the input field, in which I would like to output the age group depending on the date difference -->
<label>Age group</label>
<input type="text" name="dog_pet_age" placeholder="your dog's age" readonly="readonly" required>
我真的被卡住了,我什至没有计算出现在和输入日期之间的差异,因此我什至没有尝试问题的第二部分。如果有人能帮助我解决这两个问题,我将不胜感激!
您的 var birthDate
工作不正常。
要获取日期,您需要使用 getDate
、see here.
你应该这样做:
var birthDate $("#datepicker").datepicker(' getDate ');
More info here.
然后您可以使用此差异来显示您想要的内容:
if(parseInt(your_string)<60){
$("#dog_pet_age").val("your value");
}
else if(parseInt(your_string)<120){
$("#dog_pet_age").val("another..");
}
else
{
$("#dog_pet_age").val("the rest!");}
试试这样的东西:
var now = Date.now();
var date = $("#datepicker").datepicker(' getDate ');
var days = (now - date)/1000/60/60/24;
$('#example').val() = days;
我正在创建一个网站,您可以在该网站上注册一条狗。
在注册表中,您可以使用 jquery 日期选择器输入您爱犬的生日。这部分有效。
目标
1)当用户选择生日时,我想自动计算输入日期和今天之间的差异。
2)使用日期之间的差异在另一个表单字段中显示狗的年龄组。
(小狗(<6个月),年轻(<2岁),成年(<6岁)等.. )
我的代码
<!-- Datepicker -->
<script>
$(function() {
$( "#datepicker" ).datepicker({
dateFormat: "dd. MM yy",
altFormat: "yy-mm-dd",
altField: "#dog_pet_birthdate",
maxDate: "0",
<!-- my attempt on calculating the difference
between the entered date and the current date -->
onSelect: function () {
var birthDate = $("#dog_pet_birthdate").datepicker("birthdate");
var now = new Date();
var days = (now - birthDate) / (1000 * 60 * 60 * 24);
$("#dog_pet_age").val(days);
}
});
});
</script>
<!-- the register form (the relevant parts)-->
<label>Birthday:</label>
<!-- date to be displayed -->
<input type="text" name="birthdate" id="datepicker" placeholder="your dog's brithdate" readonly="readonly" required>
<!-- date to be written to the database using the altField -->
<input type="hidden" name="dog_pet_birthdate" id="dog_pet_birthdate">
<!-- the input field, in which I would like to output the age group depending on the date difference -->
<label>Age group</label>
<input type="text" name="dog_pet_age" placeholder="your dog's age" readonly="readonly" required>
我真的被卡住了,我什至没有计算出现在和输入日期之间的差异,因此我什至没有尝试问题的第二部分。如果有人能帮助我解决这两个问题,我将不胜感激!
您的 var birthDate
工作不正常。
要获取日期,您需要使用 getDate
、see here.
你应该这样做:
var birthDate $("#datepicker").datepicker(' getDate ');
More info here.
然后您可以使用此差异来显示您想要的内容:
if(parseInt(your_string)<60){
$("#dog_pet_age").val("your value");
}
else if(parseInt(your_string)<120){
$("#dog_pet_age").val("another..");
}
else
{
$("#dog_pet_age").val("the rest!");}
试试这样的东西:
var now = Date.now();
var date = $("#datepicker").datepicker(' getDate ');
var days = (now - date)/1000/60/60/24;
$('#example').val() = days;