使用Javascript解析Oracle Primavera中的日历blob

使用Javascript解析Oracle Primavera中的日历blob,javascript,calendar,primavera,Javascript,Calendar,Primavera,Oracle Primavera以base64编码格式将日历数据存储为blob,解码后给出以下内容: (1)1()())(0よ1244;1()()())(0よ1244;1()))(0 |;2()((0 124124四四四四四四四(0124124;124;;;0(s(s)0(s)及(s)及(s)及(s)及(s)0(s)及(s)及(s)及(s)0(s)及(s)0(s(s)及(s)0(s)0(s)及(0)及(0)及(0)0(0)及(0(0)及(0)日;0;0(0)124124;0;0;0;0;0;0;

Oracle Primavera以base64编码格式将日历数据存储为blob,解码后给出以下内容:

(1)1()())(0よ1244;1()()())(0よ1244;1()))(0 |;2()((0 124124四四四四四四四(0124124;124;;;0(s(s)0(s)及(s)及(s)及(s)及(s)0(s)及(s)及(s)及(s)0(s)及(s)0(s(s)及(s)0(s)0(s)及(0)及(0)及(0)0(0)及(0(0)及(0)日;0;0(0)124124;0;0;0;0;0;0;0;0;0;0;124;0;0;0;12;0;0;0;0;0;0;0;0;0;0;0;0;0;08:00(|5()(0 | 0(s | 08:00 | f | 16:00())(0 | 6()(0 | 0(s | 08:00 | f | 16:00())(0 | 7())(0 |视图(ShowTotal | Y())(0 |例外((0)0(2004年)0(2004年)0(2004年)0(2004年)0(2004年)0(2004年)0(2004年)0(2004年)0(2004年)0(2004年)0(2004年)0(2004年)0(2004年)0(2004年)0(2004年)0(2004年)0(2004年)0(2004年)1(3(2004年)0(0)0(2004年)0(2004年)0(2004年)2(d(日)3(日)3(日)3(日)3(日)3(日)3(日)3(日)3(日)3(3(日)3(日)3(d(第39814(第39814)3)3)3(第39814号)10)10)10)10)10)10)10(第三方方方方)10(3(第三)10(3(3)10)10)10(3(3)10)10)| | | | | | | | | | | | 10 | | | | | 39826 | | | | | | 39827 | | | | | | 10 | | 39828 | | | | | | | | | | | | | | | | | | | | |(d)39833 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 10(d)3 3 3 3 3 3 3 3 3 3 4(d)3 3 3 3 3 3 3 4 4(d)3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3(d)3 3 3 3 3 3 3 3 3 3(3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3(3)10(3)10(3)3 3 3(3)4)3 3(3)3(3)3)3(3)3)3)3(3)3(3)3)3)3(3(3)3)3)3)3(3)3(3)3(3)3)3(3)3)3)3)3(3)3)3(3(3)3)3)3(3(3)3)3)3(3)3)3)3|25(d 39849)()(0 | 26(d 39850)()(0 | 27(d 39853)()(0 | 28(d 39854)()(0 | 29(d 39855)()(0 | 30(d 39856)()(0 | 31(d 39857)()(3)第三方(d)第三方(第三方)3(第三方)3(第三方(第三方)3(第三方)3(第三方(第三方)12(第三方(第三方)12(第三方)12(第三方(第三方)3(第三方)3(第三方)3(第三方)10(第三方)12(第三方)3(第三方)3(第三方)10(第三方)10(第三方)1244(第三方)号(第三方)3(第三方)10(第1244(第三方)1244(第三方)3(第三方)号(第三方)方)1244(第三方)方)1244)3(第三方)3(第三方)方)10(第三方)方)方)方)10(第1244(第1244(第三方)方)10(第1244(第124(0 | | | 42 | | 39874 | | | 43 | | | 39875 | | | 44 | | 39876 | | | 45 | | 39877 | | | | 46 | 39878 | | | | | | | | | | | | 881 | |)(3)第三方(第三方)的第三方(第三方)的第三方(第三方)的第三方(第三方)的第三方(第三方)的第三方(第三方)的第三方(第三方)的第三方(第三方)的第三方(第三方)的第三方(第三方)的第三方(第三方)883 3号(第三方)10(第三方)10(第三方)的第三方)10(第三方)10(第三方)号(第三方)10(第三方)的(第三方)方)的(第三方)方)的第三方(第三方(第124四方(第1244)的)的)1244(第三方(第三方(第三方)方)方)方)方(第三方)方)的)的第1244(第三方(第1240(第三方)方)124124(0 | | 58 | | 39896 | | | 59 | | 39897 | | | | 60 | | 39898 | | | 61 | 39899 | | | | 62 | 39902 | | | | | | | | | | | | 63 | | | | | | | |(3)6(d)第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三方的第三(第一百三十五条)第七十三条(第40136条)第七十四条(第40137条)第七十五条(第40140条)第七十六条(第40141条)第七十四条(第40142条)第七十八条(第40143条)第七十九条(d)40147年;40147年)()()(d;40144年)第四四(d;40144年年)第四(d;40148年年))第四(d;40148年)四(d;40144年)第四四(d;40144年)第四(d;40144年)第四四(d;40147年)年))()()()(0(0124124;81(d年)81(d;第四(d;40148;40148年)第四四(d;40148(d;40148年)414141414141()()()()()()()()()()()()()()())(0(0(0124;82(d;82(d(d(第四(d(d)第四)第四(d(第四)第四(d(第四四)41414141414141414141414141414141414141414141(d(第四))|88 | 40157 | | 89 | | 40158 | | | 90 | | 40161 | | | 91 | | 40162 | | 92 | 40163 | | | | 93 | 40164 | | | | | | | | | | | | | | 94 | |(3)0よよ;よよよよ; 96(dよ;40169;40169)10(0よ?;よ;;よ;124;96(d124;40169;40169)10(0(d;;97(d124;40170)10)10 10)10(d124四四四四四四点)))10(d)10)10(d)10(d124124124124四四四四四四)10)10)10(d)10(d)10)10(d)10(d)10(d)10)10(d(第四四方方方方方方方方方)10)10)10)10(d)10(d)10)10)10(d(d(d)10)10)10))||104(d|40179)(d|105(d|40182)(d|106(d|40183)(d|107(d|40184)(d|108(d|40185)(0|109(d|40186)(d|110)(d|(d)40189年(d)40189年(d)40189年(d)40189年(d)40189年(d)40189年(d)40189年(d)40189年(d)40189年(d)40189年))()()()())(0(0|124;111(d)111(d;40190年)40190))方))()()()))(0(0(0(0(0)1241244年(101244;112;112;112(112)112(112)112(112(112)112)112(112(112)112)112(112)112)112(d;112(d;112(d;112)112(d;112(d;112(d;4141414141414141414141414141414110(d;112(d;112(d;112(d(d;40191年)414141414141414141| | 119 | 40200 | | | | 120 | | | 40203 | | | | | 121 | | 40204 | | | 122 | | 40205 | | | | | | | | | 123 | 40206 | | | | | | | 124|126(d | 40211)()(0 | 127(d | 40212)()(0 | 128(d | 40213)()(0 | 129(d | 40214)()(0 | 130(d | 40217)()(0 | 131(d | 40218)()


如何从该变量读取日期?我需要将其转换为JSON以供脚本使用。我需要所有异常-值和日期(例如,131是异常,40218是日期)。谢谢,

MPXJ读取这些数据。可以从这里找到相关代码,我想你可以很容易地将其翻译成Javascript。

MPXJ读取这些数据。可以从这里找到相关代码,我想你可以很容易地将其翻译成Javascript。

这就是我在PHP中的做法 使用嵌套的圆括号类解析数据

然后处理时间间隔

if( preg_match('~^s\|([0-9]+):([0-9]+)\|f\|([0-9]+):([0-9]+)$~', $string, $match) )
{   // Start and finish times
    $interval[] = array(
        's' => array(
            't' => $match[1].':'.$match[2],
            'h' => (int)$match[1],
            'm' => (int)$match[2],
        ),
        'f' => array(
            't' => $match[3].':'.$match[4],
            'h' => (int)$match[3],
            'm' => (int)$match[4],
        )
    );
}

这就是我在PHP中所做的 使用嵌套的圆括号类解析数据

然后处理时间间隔

if( preg_match('~^s\|([0-9]+):([0-9]+)\|f\|([0-9]+):([0-9]+)$~', $string, $match) )
{   // Start and finish times
    $interval[] = array(
        's' => array(
            't' => $match[1].':'.$match[2],
            'h' => (int)$match[1],
            'm' => (int)$match[2],
        ),
        'f' => array(
            't' => $match[3].':'.$match[4],
            'h' => (int)$match[3],
            'm' => (int)$match[4],
        )
    );
}

谢谢。Regex似乎是唯一的选项。我设法用Regex global match做到了。你上面的链接很有用。谢谢。Regex似乎是唯一的选项。我设法用Regex global match做到了。你上面的链接很有用。