Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.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
如何转换输入类型=";日期“;在时间戳javascript jquery中_Javascript_Jquery_Date_Timestamp_Html5 Input Date - Fatal编程技术网

如何转换输入类型=";日期“;在时间戳javascript jquery中

如何转换输入类型=";日期“;在时间戳javascript jquery中,javascript,jquery,date,timestamp,html5-input-date,Javascript,Jquery,Date,Timestamp,Html5 Input Date,我需要在时间戳中转换,这是我的html代码: <input type="date" name="date_end" id="date_end"> 但这不起作用,任何人都可以帮助我?创建一个新的Date()将输入值作为参数传递,然后调用getTime()。这里有一个例子: $('[name=“date\u end”]')。在('change',function()上{ var dataEnd=$(this.val(); log((新日期(dataEnd)).getTime();

我需要在时间戳中转换,这是我的html代码:

 <input type="date" name="date_end" id="date_end">
但这不起作用,任何人都可以帮助我?

创建一个新的
Date()
将输入值作为参数传递,然后调用
getTime()
。这里有一个例子:

$('[name=“date\u end”]')。在('change',function()上{
var dataEnd=$(this.val();
log((新日期(dataEnd)).getTime();
})

这里有一个解决方案(使用纯js),在将值转换为javascript日期对象后,我使用了一元加号运算符

函数checkDateValue(){
var dateConvertedToTimestamp=(+新日期(document.getElementById('Date_value').value));
document.getElementById('date\u value\u timestamp')。innerHTML=dateConvertedToTimestamp;
}

提交

时间戳:-
您可以使用以下代码

<script type="text/javascript">
var d = new Date(parseInt($('[name="date_start"]').val()));
var n = d.getTime();
console.log(n);
</script>

var d=新日期(parseInt($).val();
var n=d.getTime();
控制台日志(n);
执行此操作

var dateEnd = $('#date_end').val()
var var timestamp_end = Date.parse(date_end)
或 一行

var timestamp_end = Date.parse($('#date_end').val())

它工作正常而且干净

我需要一个UNIX时间戳,并根据我的需要更新了Partha Roy的anwser

Javascript:

  document.getElementById('dateInput').addEventListener('change', function (){
        
  let inputDate = document.getElementById('dateInput').value ;
  let dateConvertedToTimestamp = new Date(inputDate).getTime() ;
  console.log(dateConvertedToTimestamp) ;
  document.getElementById('resultTime').value = dateConvertedToTimestamp / 1000 ;
    }) ;
/1000分区转换为UNIX timestamp+I跟踪所有输入更改,而不仅仅是在提交表单时

HTML:

<input type='date' id='dateInput'>
<input type='hidden' id='resultTime' name='dateTimestamp'>


别忘了日期输入还没有得到很好的支持,所以我们可以很容易地用经典的数字输入来修改这段代码。

也许
新的日期(parseInt($('[name=“date\u start”]')。val(),10))
会有所帮助吗?你能添加HTML吗code@sunpietro-输入类型日期的值是ISO 8601格式的日期字符串,如“2017-10-24”。将该值赋予parseInt将返回2017年的数字。如果将该值传递给日期构造函数,则该值将被视为自历元起的毫秒,并生成1970-01-01T00:00:02.017Z的日期。所以不,这不会有什么帮助的。你应该小心点。输入类型日期返回的值是ISO 8601格式的日期字符串。如果由与ECMA-262最新版本一致的内置解析器解析,则将其解释为UTC。因此,如果用户的时区是UTC-0800,晚上10点选择2017-10-26,UTC日期将是2017-10-27,这可能会令人惊讶。日期输入返回的值是ISO 8601格式的日期字符串,如2017-10-26。将该值赋予parseInt将产生数字2017,当传递给日期构造函数时,该数字将产生1970-01-01T00:00:02.017Z的日期。日期输入返回的值是ISO 8601格式的日期字符串,如2017-10-26,将解析为UTC(主要是),当用户可能希望将其解析为本地时。@RobG若要获取特定于本地时区的时间戳,可以使用Date对象的getTimezoneOffset原型方法。您完全没有抓住要点:用户可能希望将该值视为本地值,但您的函数会将其视为UTC。因此,它将代表一个与用户期望的时间不同的时刻(因此具有不同的时间戳,无论格式如何)。@RobG在这种情况下,请您建议一些可以产生用户期望值的内容。
<input type='date' id='dateInput'>
<input type='hidden' id='resultTime' name='dateTimestamp'>