首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript -将区域设置日期时间解析为用户日期时间格式

Javascript -将区域设置日期时间解析为用户日期时间格式
EN

Stack Overflow用户
提问于 2018-01-11 03:15:51
回答 2查看 137关注 0票数 0

您好,我想分析从地区格式的日期时间到英语格式(对于.NET REST API服务器)。我使用jquery datetimepicker:

代码语言:javascript
复制
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/>

例如,在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如何转换它?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-11 03:37:43

您可以编写一个简单的解析器来获取日期字符串的组件,然后创建一个new Date并返回所需的格式。

代码语言:javascript
复制
const datestr = '10.01.2018 20:15'

// prepend zero if less than 10
const z = x => x > 9 ? x : '0' + x

// parse formatted date into server date
const parse = str => {
  const [day, month, year, hour, min] = str.split(/\.|\s|\:/)
  const date = new Date(year, month - 1, day, hour, min)
  const y = z(date.getFullYear())
  const m = z(date.getMonth() + 1)
  const d = z(date.getDate())
  const h = z(hour)
  const mn = z(min)
  return `${y}-${m}-${d}T${h}:${mn}:00`
}

console.log(
  parse(datestr)
)

票数 1
EN

Stack Overflow用户

发布于 2018-01-11 03:23:32

在转换过程中,您尝试转换的格式并不适用于所有浏览器。

为此,您可以按正则表达式拆分,在本例中为/\:|\s|\./g,它按任意.:或空格拆分。然后你可以重新建立你的初始日期。请注意,您将丢失秒数,因为在初始转换中没有包含秒数。

代码语言:javascript
复制
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(finalDate)
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48194562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档