mirror of
https://github.com/unidoc/unipdf.git
synced 2025-04-29 13:48:54 +08:00
20 lines
2.9 KiB
Go
20 lines
2.9 KiB
Go
//
|
|
// Copyright 2020 FoxyUtils ehf. All rights reserved.
|
|
//
|
|
// This is a commercial product and requires a license to operate.
|
|
// A trial license can be obtained at https://unidoc.io
|
|
//
|
|
// DO NOT EDIT: generated by unitwist Go source code obfuscator.
|
|
//
|
|
// Use of this source code is governed by the UniDoc End User License Agreement
|
|
// terms that can be accessed at https://unidoc.io/eula/
|
|
|
|
package timeutils ;import (_f "errors";_d "fmt";_g "regexp";_b "strconv";_a "time";);func FormatPdfTime (in _a .Time )string {_dg :=in .Format ("\u002d\u0030\u0037\u003a\u0030\u0030");_c ,_ :=_b .ParseInt (_dg [1:3],10,32);_ga ,_ :=_b .ParseInt (_dg [4:6],10,32);
|
|
_gc :=int64 (in .Year ());_dc :=int64 (in .Month ());_ad :=int64 (in .Day ());_bg :=int64 (in .Hour ());_fg :=int64 (in .Minute ());_ba :=int64 (in .Second ());_adb :=_dg [0];return _d .Sprintf ("\u0044\u003a\u0025\u002e\u0034\u0064\u0025\u002e\u0032\u0064\u0025\u002e\u0032\u0064\u0025\u002e\u0032\u0064\u0025\u002e\u0032\u0064\u0025\u002e2\u0064\u0025\u0063\u0025\u002e2\u0064\u0027%\u002e\u0032\u0064\u0027",_gc ,_dc ,_ad ,_bg ,_fg ,_ba ,_adb ,_c ,_ga );
|
|
};var _gg =_g .MustCompile ("\u005c\u0073\u002a\u0044\u005c\u0073\u002a:\u005c\u0073\u002a\u0028\u005c\u0064\u007b\u0034\u007d\u0029\u0028\u005c\u0064\u007b2\u007d)\u0028\u005c\u0064\u007b\u0032\u007d)\u0028\u005c\u0064\u007b\u0032\u007d\u0029(\u005c\u0064\u007b\u0032\u007d\u0029\u0028\u005c\u0064\u007b\u0032\u007d\u0029\u0028\u005b\u002b\u002d\u005a\u005d\u0029\u003f\u0028\u005cd\u007b\u0032\u007d\u0029\u003f\u0027\u003f\u0028\u005c\u0064\u007b\u0032\u007d)\u003f");
|
|
func ParsePdfTime (pdfTime string )(_a .Time ,error ){_ag :=_gg .FindAllStringSubmatch (pdfTime ,1);if len (_ag )< 1{return _a .Time {},_d .Errorf ("\u0069n\u0076\u0061\u006c\u0069\u0064\u0020\u0064\u0061\u0074\u0065\u0020s\u0074\u0072\u0069\u006e\u0067\u0020\u0028\u0025\u0073\u0029",pdfTime );
|
|
};if len (_ag [0])!=10{return _a .Time {},_f .New ("\u0069\u006e\u0076\u0061\u006c\u0069\u0064\u0020\u0072\u0065\u0067\u0065\u0078p\u0020\u0067\u0072\u006f\u0075\u0070 \u006d\u0061\u0074\u0063\u0068\u0020\u006c\u0065\u006e\u0067\u0074\u0068\u0020!\u003d\u0020\u0031\u0030");
|
|
};_aa ,_ :=_b .ParseInt (_ag [0][1],10,32);_ae ,_ :=_b .ParseInt (_ag [0][2],10,32);_be ,_ :=_b .ParseInt (_ag [0][3],10,32);_ab ,_ :=_b .ParseInt (_ag [0][4],10,32);_cca ,_ :=_b .ParseInt (_ag [0][5],10,32);_ccf ,_ :=_b .ParseInt (_ag [0][6],10,32);var (_eg byte ;
|
|
_fd int64 ;_bgf int64 ;);if len (_ag [0][7])> 0{_eg =_ag [0][7][0];}else {_eg ='+';};if len (_ag [0][8])> 0{_fd ,_ =_b .ParseInt (_ag [0][8],10,32);}else {_fd =0;};if len (_ag [0][9])> 0{_bgf ,_ =_b .ParseInt (_ag [0][9],10,32);}else {_bgf =0;};_daf :=int (_fd *60*60+_bgf *60);
|
|
switch _eg {case '-':_daf =-_daf ;case 'Z':_daf =0;};_gf :=_d .Sprintf ("\u0055\u0054\u0043\u0025\u0063\u0025\u002e\u0032\u0064\u0025\u002e\u0032\u0064",_eg ,_fd ,_bgf );_bf :=_a .FixedZone (_gf ,_daf );return _a .Date (int (_aa ),_a .Month (_ae ),int (_be ),int (_ab ),int (_cca ),int (_ccf ),0,_bf ),nil ;
|
|
}; |