Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.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
如何更改此JS日历弹出窗口';s输出为PHP';s日期(';W';)输出_Php_Javascript_Html - Fatal编程技术网

如何更改此JS日历弹出窗口';s输出为PHP';s日期(';W';)输出

如何更改此JS日历弹出窗口';s输出为PHP';s日期(';W';)输出,php,javascript,html,Php,Javascript,Html,我正在尝试/想要做的是将这个JS日历的输出更改为与PHP的日期('W')相同的输出格式 例如,我使用的是在这里找到的JS日历弹出窗口: 从日历中选择日期时,将自动生成输出,并以日/月/年的格式填写到文本框中 但是,我不希望datebox中的输出生成为day month year…而是希望生成的输出为用户在日历中选择的周数 假设我在日历弹出窗口中选择2011年1月8日。目前,它将填充到文本框08/01/11…但应该发生的是,它将被放入文本框2中,因为1月8日是该年的第二周…我如何才能做到这一点?我

我正在尝试/想要做的是将这个JS日历的输出更改为与PHP的日期('W')相同的输出格式

例如,我使用的是在这里找到的JS日历弹出窗口:

从日历中选择日期时,将自动生成输出,并以日/月/年的格式填写到文本框中

但是,我不希望datebox中的输出生成为day month year…而是希望生成的输出为用户在日历中选择的周数

假设我在日历弹出窗口中选择2011年1月8日。目前,它将填充到文本框08/01/11…但应该发生的是,它将被放入文本框2中,因为1月8日是该年的第二周…我如何才能做到这一点?我被卡住了,因为若用户的当前日期是12月底,结束日期是明年1月,PHP的date命令会认为我们是在新的一年,它会搞砸…我希望我是清楚的

这就是正在发生的事情

用户界面他们有两个文本框

每个文本框都与日历弹出窗口相关联。输出不一定是天/月/耳,而是一年中的一周

一旦用户选择了他们的选项,后端的php将使用php的date('W')函数查看用户选择的时间间隔


我一直在研究如何将日历日期格式更改为php的日期('W')格式。

为了实现您想要的功能,您必须编写自己的函数,在JavaScript中没有像php中那样的神奇内置方式

-例如,您可以通过查看他们的源代码来了解他们是如何做到这一点的

支持“W”,这就给出了:

ISO-8601年的周数,星期一开始的周数(以PHP添加) 4.1.0)


JS的日期对象没有“一年中的一周”选项。你可以用一个“年中的某一天/52”来伪装它,但这取决于一年的开始日期和年份。是的,这正是为什么我会坚持这个工作的原因,但它将如何持续一年?因此,如果其中一个文本框是今年,而下一本教科书是用户选择的下一年,我将如何找出两者之间的周差?写我自己的函数?我会写我自己的函数,为了计算出差异,我们需要三个输入。第一年的一周、第二年的一周以及一年中的几周(这是一个不变的值,因为它永远不会改变)。我们需要做的第一件事是计算我们在今年还剩多少周,所以为了做到这一点,我们计算一年中的周数(52)并减去第一年的1周数,因此如果我们第一年有32周,我们将有52-32周,从而得到20周。然后我们取这个值,再加上第二年的周值,所以如果我们说第二年为12,我们会得到20+12,因此我们得到32。因此,如果第一年的周值为32,第二年的周值为12,那么差值为32,也就是说,我们需要做的就是计算出差值(最大周数/年-年-一周)+年-二周,weekI对函数的计算方式没有很高的信心。PHP源代码运行了大约50行条件,其中考虑了闰年、一年中的第一天等。