I am wondering what they formats are? Any advice would be much appreciated. This is used in the IBM application called Tealeaf
4682158116698062848 = 12:00:00 AM
4682162239866667008 = 12:01:00 AM
4682166363035271168 = 12:02:00 AM
4682405506814312448 = 01:00:00 AM
If I have to use an application to convert it, then the choice would be PHP
This looks like a Microsoft OLE Automation timestamp. Here is Microsoft's page about it. It represents the number of 24 hour periods since 1 Jan. 1900.
Looks like 64+ bit stamps. The most significant 28+bits are the seconds about 788 days after some epoch (Jan 1, 1970??) which would make it Feb 28, 1972 - or possible some other encoding based on seconds. The least significant 36-bits are all 0. I would expect the values could reach pow(2,72) or 22 decimal digits.
Related
I'm trying to parse a string into time with a user-specific timezone location -
// error handling skipped for brevity
loc, _ := time.LoadLocation("Asia/Kolkata")
now, _ := time.ParseInLocation("15:04", "10:10", loc)
fmt.Println("Location : ", loc, " Time : ", now)
The output I get on my system is - Location : Asia/Kolkata Time : 0000-01-01 10:10:00 +0553 HMT
Where did this HMT time zone come from?
If instead of parsing the time I use now := time.Now().In(loc), the timezone printed is correct - IST. Am I doing something wrong with timezone parsng or is my system timezone database faulty?
This may be a relic of the fact that your year for now is 0000, while time.Now() returns the current time. Timezones are weird, and certain locations haven't always used the same timezone. This is an excerpt from the IANA Time Zone Database:
# Zone NAME GMTOFF RULES FORMAT [UNTIL]
Zone Asia/Kolkata 5:53:28 - LMT 1854 Jun 28 # Kolkata
5:53:20 - HMT 1870 # Howrah Mean Time?
5:21:10 - MMT 1906 Jan 1 # Madras local time
5:30 - IST 1941 Oct
5:30 1:00 +0630 1942 May 15
5:30 - IST 1942 Sep
5:30 1:00 +0630 1945 Oct 15
5:30 - IST
If I am interpreting this correctly, it seems HMT was used from 1854 until 1870—I'm not exactly sure why this would cause it to be used for year 0000, which would seem to fall under LMT, but it's possible the Go database is slightly different (or it's possible that I'm misinterpreting the database). If you're concerned about the correct timezone being used for historical dates (like 0000) I'm not sure I can give a great answer, however for anything recent IST should be correctly used.
I've been experiencing a very strange issue in CMD and I can't for the life of me figure out why it's doing this!
I'm performing arithmetic on some dates and subtracting one from the month and it was going just fine until I got to the numbers 8 & 9! Because I'm dealing with dates, I'm adding a preceding 0 for any value less than 10, which makes 8 become 08.
I input the following into the cmd (keep in mind that for values 01, 02, 03, 04, 05, 06, 07 & 10, the below code will work just fine):
set z=08
set /a z-1
somehow this code returns an answer of -1 instead of the expected 7!
yet if I do:
set z=8
set /a z-1
This code returns 7 which is what I would expect.
What on earth is going on here?
I have a table keyed by time, e.g.
time | valA | valB
---- | ---- | ----
09:00| 1.4 | 1.2
09:05| 1.5 | 1.4
09:10| 1.5 | 1.4
I want to store this in a data structure and query values as of arbitrary times. E.g.
asof 09:01, valA = 1.4
asof 09:06, valB = 1.4
asof 09:14, valA = 1.5
What is the best way of structuring this in c++11? Which std::chrono datatype should I use to represent my times. How can I develop a solution that supports time zones? E.g. the times listed in my table may be in US/Central time and I may want to query using Australia/Sydney based times.
To support local times in different time zones with <chrono> I recommend Howard Hinnant's free, open-source time zone library. This library is built on top of <chrono>, and uses the IANA time zone database to manage time zones.
Also, to handle time zones, you will need to store more than just time-of-day. You will need to store the entire date, as a time zone's UTC offset often varies with date. I.e. 09:05 Australia/Sydney doesn't really nail down a moment in time. But 2017-08-16 09:05 Australia/Sydney does.
Here is how you could create such a time stamp with <chrono> and the time zone library:
using namespace date;
using namespace std::chrono;
auto zt = make_zoned("Australia/Sydney", local_days{2017_y/aug/16} + 9h + 5min);
You can print it out like this:
std::cout << zt << '\n';
And the output is:
2017-08-16 09:05:00 AEST
If you want to find out the local time in US/Central that corresponds to this same moment in time:
auto zt2 = make_zoned("US/Central", zt);
std::cout << zt2 << '\n';
And the output is:
2017-08-15 18:05:00 CDT
date::zoned_time<std::chrono::seconds> is the type of zt and zt2 in these examples, and that is what I recommend you store. Under the hood this type is a pairing of {date::time_zone const*, std::chrono::time_point<system_clock, seconds>} (two words of storage).
Source code: https://github.com/HowardHinnant/date
Documentation: http://howardhinnant.github.io/date/tz.html
Video: https://www.youtube.com/watch?v=Vwd3pduVGKY
I have the below jrockit gc log which I want to index using grok to find pattern.
[memory ][Thu Feb 4 14:23:21 2016][01888] [OC#1119] 199979.563-199981.320: OC 1875383KB->1445390KB (2097152KB), 1.757 s, sum of pauses 1731.731 ms, longest pause 1731.731 ms.
The Information I want is
date : Thu Feb 4 14:23:21 2016
CurrentHeap: 1875383
Heap: 1445390
TotalHeap: 2097152
SumofPause: 1731.731
LongestPause: 1731.731
I starte writing something like this..
[memory ][%{DATA:wls_timestamp}][%{DATA:discard1}][%{DATA:discard2}]
But couldn't go any further, can someone guide me how to extract specific information in a data like this.
Thanks
SR
I have a problem with pdf::api2 I need to edit an existing pdf and put in some images. The problem is that for inserting 4 images it takes around 20 seconds per image. So the whole process goes up to minute and a half. Is there some magic i can do to speed up the process? The images are 1920 × 1080 and need to stay that size, because i need quality pdf-s... So without further ado, here is the code:
#!/usr/bin/perl
use PDF::API2;
print "start ".(localtime)."\n";
$pdf = PDF::API2->open("sample.pdf");
$page = $pdf->openpage(1);
$page->mediabox(840,600)
$gfx=$page->gfx;
print "first image ".(localtime)."\n";
$first=$pdf->image_png("first.png");
print "inserting first image ".(localtime)."\n";
$gfx->image($first,134,106,510,281);
print "saving ".(localtime)." \n";
$pdf->saveas('new_file.pdf');
print "done ".(localtime)." \n";
The output i get:
start Mon Jun 3 10:46:31 2013
first image Mon Jun 3 10:46:31 2013
inserting first image Mon Jun 3 10:46:53 2013
saving Mon Jun 3 10:46:53 2013
done Mon Jun 3 10:46:57 2013
So the most time consuming process is image_png which takes 22 seconds in this example... Any help would be appreciated. Thanks
Update: if i use the same image converted to JPEG, it works flawlessly, under a second. The problem is i need the transparency of the PNG files
The documentation for PDF::API2 explicitly says that operations on transparent .png files are slow, and recommends installing PDF::API2::XS or (IIRC) Image::PNG::libpng to speed it up.