Javascript-将区域设置datetime解析为us datetime格式
您好,我想将datetime从区域设置格式解析为英语格式(对于.NETRESTAPI服务器)。我使用jquery datetimepicker:Javascript-将区域设置datetime解析为us datetime格式,javascript,jquery,Javascript,Jquery,您好,我想将datetime从区域设置格式解析为英语格式(对于.NETRESTAPI服务器)。我使用jquery datetimepicker: jQuery(document).ready(function () { 'use strict'; jQuery.datetimepicker.setLocale('cs'); jQuery('#startDate').datetimepicker({ format: 'd.m.Y H:i', });
jQuery(document).ready(function () {
'use strict';
jQuery.datetimepicker.setLocale('cs');
jQuery('#startDate').datetimepicker({
format: 'd.m.Y H:i',
});
});
<input ng-model="$ctrl.startDate" class="form-control" id="startDate" datetime-picker/>
jQuery(文档).ready(函数(){
"严格使用",;
jQuery.datetimepicker.setLocale('cs');
jQuery(“#startDate”).datetimepicker({
格式:“d.m.Y H:i”,
});
});
例如,在datetimepicker中,我有一个日期10.01.2018 20:15
(2018年1月10日),我需要转换为2018/01/10 20:15
。此格式已正确发送到.NET服务器。如何转变
我需要你的帮助。我以这种格式从服务器获取日期:2018-01-10T20:15:00
,我想以这种格式在datetimepicker中显示:10.01.2018 20:15
如何转换
谢谢通过转换,您试图转换的格式不适用于所有浏览器 要实现这一点,您可以使用正则表达式进行拆分,在本例中,
/\:\s\./g
,它通过任何
、:
或空格进行拆分。然后,您可以再次构建初始日期。请注意,您将损失秒数,因为在初始转换中不包括秒数
var dateStr='2018.01.10 08:15'
var arr=dateStr.split(/\:\\s\./g)
var finalDate=arr[0]+'-'+arr[1]+'-'+arr[2]+'T'+arr[3]+':'+arr[4]+':00'
console.log(最终日期)
通过转换,您正试图从一种无法在所有浏览器中使用的格式进行转换
要实现这一点,您可以使用正则表达式进行拆分,在本例中,/\:\s\./g
,它通过任何
、:
或空格进行拆分。然后,您可以再次构建初始日期。请注意,您将损失秒数,因为在初始转换中不包括秒数
var dateStr='2018.01.10 08:15'
var arr=dateStr.split(/\:\\s\./g)
var finalDate=arr[0]+'-'+arr[1]+'-'+arr[2]+'T'+arr[3]+':'+arr[4]+':00'
console.log(最终日期)
您可以编写一个简单的解析器来获取日期字符串的组件,然后创建一个新日期
并返回所需的格式
const datestr='10.01.2018 20:15'
//如果小于10,则预加零
常数z=x=>x>9?x:'0'+x
//将格式化日期解析为服务器日期
const parse=str=>{
常量[日、月、年、小时、分钟]=str.split(/\.\s\:/)
const date=新日期(年、月-1、日、小时、分钟)
常量y=z(日期.getFullYear())
常量m=z(date.getMonth()+1)
常量d=z(date.getDate())
常数h=z(小时)
常数mn=z(最小值)
返回`${y}-${m}-${d}T${h}:${mn}:00`
}
console.log(
解析(datestr)
)
您可以编写一个简单的解析器来获取日期字符串的组成部分,然后创建一个新的日期并返回所需的格式
const datestr='10.01.2018 20:15'
//如果小于10,则预加零
常数z=x=>x>9?x:'0'+x
//将格式化日期解析为服务器日期
const parse=str=>{
常量[日、月、年、小时、分钟]=str.split(/\.\s\:/)
const date=新日期(年、月-1、日、小时、分钟)
常量y=z(日期.getFullYear())
常量m=z(date.getMonth()+1)
常量d=z(date.getDate())
常数h=z(小时)
常数mn=z(最小值)
返回`${y}-${m}-${d}T${h}:${mn}:00`
}
console.log(
解析(datestr)
)
check out moment.js…它在一行代码中很容易完成类似的操作,但这会抛出错误无效日期:moment('10.01.2018 20:15','d.m.Y H:I')。toDate()
我想它的'd.m.Y H:m'check out moment.js…它在一行代码中很容易完成类似的操作,但是这个抛出错误无效日期:时刻('10.01.2018 20:15','d.m.Y H:i')。toDate()
我认为它的'd.m.Y H:m'不是我的情况。我有这种格式的日期:“DD.MM.YYYY hh:MM”,我需要这种“2018-01-10T20:15:00”,这种格式会在moment.js中抛出一个错误,因为它会返回到所有浏览器都不支持的内容。同样,在你的问题中,你要求两种方式都进行转换,请编辑你的问题以使其清晰。更新了我的答案很抱歉,但我的输入是这10.01.2018 20:15
不是这2018-01-10T20:15:00
@bluray我更新了我的答案,只显示了你想要的转换。这不是我的情况。我有这种格式的日期:“DD.MM.YYYY hh:MM”,我需要这种“2018-01-10T20:15:00”,这种格式会在moment.js中抛出一个错误,因为它会返回到所有浏览器都不支持的内容。同样,在你的问题中,你要求两种方式都要转换,请编辑你的问题以使其清晰。更新了我的答案很抱歉,但我的输入是这10.01.2018 20:15
不是这2018-01-10T20:15:00
@bluray我更新了我的答案,只显示了你想要的转换。这看起来不错。但我有个问题。此新日期(年、月、日、小时、分钟)
返回错误日期:星期六2018年2月10日20:15:00 GMT+0100
@bluray-该月
参数为。@bluray我已更新了答案,以解决该月的问题。这看起来不错。但我有个问题。此新日期(年、月、日、小时、分钟)
返回错误日期:星期六2018年2月10日20:15:00 GMT+0100
@bluray-该月
参数为。@bluray我已更新答案以解决该月的问题