Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.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
Php 日期格式误传_Php_Javascript_Jquery Ui Datepicker - Fatal编程技术网

Php 日期格式误传

Php 日期格式误传,php,javascript,jquery-ui-datepicker,Php,Javascript,Jquery Ui Datepicker,在我的表单中,我有一个文本框和一个名为“皮卡日期”的字段。我正在使用jquery日期选择器。日期的格式为dd/mm/yyyy。但是,当我尝试使用JavaScript重新创建日期时,日期错误地显示为月份,月份显示为日期。如何解决这个问题?我当前的脚本和值如下: <script language="javascript" type="text/javascript"> var dateStart = '07/03/2012'; //dd/mm/YYYY format var timeSt

在我的表单中,我有一个文本框和一个名为“皮卡日期”的字段。我正在使用jquery日期选择器。日期的格式为dd/mm/yyyy。但是,当我尝试使用JavaScript重新创建日期时,日期错误地显示为月份,月份显示为日期。如何解决这个问题?我当前的脚本和值如下:

<script language="javascript" type="text/javascript">
var dateStart = '07/03/2012'; //dd/mm/YYYY format
var timeStart = '09:00';

var startDate = new Date(dateStart + " " + timeStart);

document.write(startDate);

</script>
它应该显示为

Wed Mar 07 2012 09:00:00

如何解决此问题?

Javascript使用美国形式的日期,即
mm/dd/YYYY
使用本机Javascript时,日期是一个弱点。我觉得使用类库对处理日期有很大帮助。

查找如何制作时间戳并处理这些时间戳,将日期转换为时间戳,并在希望打印时将其转换回所需格式的日期

javascript中的函数:

获取当前时间戳

new Date().getTime(); //in miliseconds
//this only supports limited formats
function toTimestamp(strDate){
 var datum = Date.parse(strDate);
 return datum/1000;
}

function toTimestamp(year,month,day,hour,minute,second){
 var datum = new Date(Date.UTC(year,month-1,day,hour,minute,second));
 return datum.getTime()/1000;
}
将时间戳打印到字符串

//make formated date
var date = new Date(unix_timestamp*1000);
// hours part from the timestamp
var hours = date.getHours();
// minutes part from the timestamp
var minutes = date.getMinutes();
// seconds part from the timestamp
var seconds = date.getSeconds();

// will display time in 10:30:23 format
var formattedTime = hours + ':' + minutes + ':' + seconds;
字符串到时间戳

new Date().getTime(); //in miliseconds
//this only supports limited formats
function toTimestamp(strDate){
 var datum = Date.parse(strDate);
 return datum/1000;
}

function toTimestamp(year,month,day,hour,minute,second){
 var datum = new Date(Date.UTC(year,month-1,day,hour,minute,second));
 return datum.getTime()/1000;
}
看一看-这将使您能够更好地控制如何管理日期到字符串的转换,从而使您的软件能够更轻松地符合基于文化的不同用户格式需求


JavaScript的国际化和本地化仍然存在很大的问题。

好吧,在花了这么多时间之后,我终于想出了自己的解决方案,而不必使用任何复杂计算的外部库。到目前为止,在我看来,它似乎工作得很好。代码如下:

<script language="javascript" type="text/javascript">

var dateStart = '07/03/2012';
var timeStart = '09:00';

var startDate = new Date(dateStart + " " + timeStart);

document.write(startDate);
document.write('<br />');

//declare an array
var my_arr = Array();
//explode/split the dd/mm/yyyy string so that we can collect it in our array
my_arr = dateStart.split('/');
//join the pieces of array in our mm/dd/yyyy format
var revised_date = my_arr[1] + '/' + my_arr[0] + '/' + my_arr[2];
//Generate the complete date
var startDate_revised = new Date(revised_date + " " + timeStart);
//Output the date
document.write(startDate_revised);
</script>

var dateStart='07/03/2012';
var timeStart='09:00';
var startDate=新日期(dateStart+“”+timeStart);
文件写入(起始日期);
文件。写入(“
”); //声明数组 var my_arr=Array(); //分解/拆分dd/mm/yyyy字符串,以便我们可以在数组中收集它 my_arr=dateStart.split('/'); //以我们的mm/dd/yyyy格式连接数组块 var修订日期=my_arr[1]+'/'+my_arr[0]+'/'+my_arr[2]; //生成完成日期 var startDate_REVIDED=新日期(REVIDED_Date+“”+timeStart); //输出日期 编写文件(修订开始日期);

感谢大家的贡献。非常感谢您的帮助。

您可以通过回馈社区来表达您的感谢,而不是在每篇文章的末尾使用样板字符。这意味着,请不要在文章的末尾写上“感谢”的签名:)是否可以将此应用于检索正确的日期、月份和年份?我目前正在处理这个问题,但它仍然将月份打印为7月,而不是3月+1,以显示您的所有努力和指针。我已经在上面发布了我自己的解决方案。@Denver,是的,我想是的,试着在google上查找Date函数,应该会有更多类似.getSeconds的内容。我脑子里不知道这些^^