javascript - JDE/儒略时间 : How to format julian time stamp number

标签 javascript regex jdedwards

在我的系统中,时间戳使用旧的 IBM julian 格式返回。

例如:
12 点 0 分 1 秒 AM(午夜后 1 秒)返回 01。
12 点 22 分 15 秒 AM 返回 2215。
1点22分15秒AM返回12215。
7点45分1秒AM返回74501。
7点22分15秒PM返回192215。

我需要一个正则表达式将它们放入以下格式:
上午 12 点 0 分 1 秒(午夜后 1 秒):00:00.01
12 点 22 分 15 秒上午:00:22.15
凌晨 1 点 22 分 15 秒:01:22.15
7 点 ​​45 分 1 秒上午:7:45.01
7 点 ​​22 分 15 秒 PM:19:22.15

感谢任何帮助。

解决方案 感谢 MikeM,这是解决方案:

//var time = '01';
//var time = '2215';
//var time = '12215';
//var time = '74501';
var time = '192215';

time = time.replace( /^(?:(?:(\d)?(\d))?(\d\d))?(\d\d)$/,
  function ( all, hr1, hr2, min, sec ) {
    return (hr1 || '0') + (hr2 || '0') + ':' + (min || '00') + '.' + sec;
  }
);

最佳答案

以下内容适用于您的示例,尽管我还没有对此进行测试

//var time = '01';
//var time = '2215';
//var time = '12215';
//var time = '74501';
var time = '192215';

time = time.replace( /^(?:(?:(\d)?(\d))?(\d\d))?(\d\d)$/,
  function ( all, hr1, hr2, min, sec ) {
    return (hr1 || '0') + (hr2 || '0') + ':' + (min || '00') + '.' + sec;
  }
);

尽管它给出的是 07:45.01 而不是 7:45.01,以便与 01:22.15 保持一致。

关于javascript - JDE/儒略时间 : How to format julian time stamp number,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15976800/

相关文章:

javascript - AngularJS - 多维数组的自定义过滤器

javascript - 如何将div的旋转信息获取到js中的变量中

javascript - 通过二进制套接字将 Uint16Array 表单浏览器发送到 node.js

javascript - 编码字符集问题

python替代正则表达式搜索返回无的元组

java - 动态 JDE 连接器增加句柄数的问题会导致 OutOfMemory,解决后会出现 NullPointerException

php - 制作一行正则表达式

Python 正则表达式 - 查找两个分隔符之间的所有子字符串

php - 在 IBM i (AS400) DB2 中导入/导出 CSV

jdedwards - JD Edwards 的发展学习曲线是什么?