JavaScript到PHP的时间戳失败,增加了大约一个半月的时间
JavaScript to PHP timestamp failing, adds about a month and a half to the time
好的,我正在尝试将javascript时间戳转换为php等效时间戳,我已经在stack上浏览了这里的帖子,以获得一个不错的答案,以及其他各种网站,所以这个问题是最后的努力,尽管我知道我可能会获得选票,但有人告诉我,这只是一个来自其他地方的欺骗问题。所以尽管如此。。
这是我迄今为止尝试的失败。请注意,我使用的是jQuery,没有冲突,因此是j
而不是$
var yr = j('#time_year :selected').val();//year
var mn = j('#time_month :selected').val();//month
var dy = j('#time_day :selected').val();//day
var hr = j('#time_hour :selected').val();//hour
var min = j('#time_minute :selected').val();//minute
var sc = j('#time_second :selected').val();//second
if(j('#time_ampm :selected').val() == 12 && j('#time_hour :selected').val() < 12){hr = j('#time_hour :selected').val()+12;}
if(j('#time_ampm :selected').val() == 0 && j('#time_hour :selected').val() == 12){hr = 0;}
var theDate = new Date(yr, mn, dy, hr, min, sc).getTime();
setTimeStamps(theDate);
j('#timestamp_now_js').html(" "+theTime);
j('#timestamp_now_php').html(" "+Math.round(theTime / 1000));
顶部的选择值基于Mozilla.org日期参考,使用0-nn进行描述。作为上午/下午,if else本质上是指在选择的时间上增加12小时,因为网站上显示的时间是12小时格式。Javascript使用24小时。如果选择am并使用12,它也会将12转换为0,以匹配24小时格式的概念。
目前似乎正在发生的事情是,尽管它看起来很有效,但当我运行通过php date()
函数给出的时间戳时,它显示的日期大约是一个月2周零几天,这是我正在测试的,相当于现在的
我会创建一个包含html的jsFiddle,但我使用php来生成我的选择框。因此,如果你想看看我"活"了什么,那就去http://7pz.net/timestamps.php因为这就是我测试这个概念的地方。
Date
对象中,月份范围是0-11,而不是1-12。这是"月份"的部分。试试这个:
var mn = j('#time_month :selected').val() - 1; //month
或者更好的是,生成值范围从0到11的<option>
s。
另外,这个声明:
hr = j('#time_hour :selected').val()+12;
请记住,j('#time_hour :selected').val()
是字符串,而不是数字,因此必须在添加12之前对其进行转换,否则会得到类似"0412"
的内容。您正在创建一个小时计数设置为412的日期,即17天4小时。17天是天数的加法。
这样修复:
hr = +j('#time_hour :selected').val() + 12;
我使用了加号一元运算符。
(附言:从可读性和jQuery对象缓存开始,代码还有很大的改进空间。在习惯一些糟糕的做法之前,需要花一些时间来提高你的Javascript编码技能。)
- 如何在一个时间间隔后追加新的更新
- 转换一个时间(字符串),例如1:00 IST到另一个时区(比如PST)
- 在 rails / html / js 中创建一个时间轴
- 给定一个时间戳,如何按天/周/月显示时间
- jQuery:创建一个循环,首先需要一个时间间隔,然后更改为另一个时间间隔
- 编写一个时间函数,在游戏中清除倒计时并重新启动
- 在每行PHP上调用一个时间戳函数
- xd_soft日期时间选择器在只选择一个时间值时高亮显示多个时间值
- 使用moment.js、js或Jquery,在一个时间范围内打开一个功能
- 使用flipclock.js自动每日重置计数器到一个时间
- 创建一个时间间隔,使函数在JavaScript中随机时间运行
- 在javascript中制作一个时间计数器
- 我如何得到模态窗口弹出时,我选择一个时间槽fullCalendar
- 修改Meteor-React待办事项列表示例,显示一个时间范围内创建的列表项
- 列出一个HTML段落< >在一个时间效应
- 如何让一个消息弹出(悬停)当玩家击中一个时间瞬间
- 需要做多个搜索在一个时间与开始字符这是在自动完成搜索
- 我如何处理日期在javascript中,当它不断附加一个时间值
- 我如何使一个时间滑块显示网站存档在WordPress
- 褪色的9个缩略图在随机1在一个时间使用jquery画廊