Skip to main content

Epoch Human Time Batch Conversion script

I had to create a sample script to convert epoch time to Human readable format.  (both ways)

Also from Human readable time format to Epoch.  Input is a file with "Epoch" or "Human Readable"  format and the program will convert in the other format.

Till now we used: http://www.epochconverter.com/ . But for embedding into your application or for batch convert, please find my program in Java
import java.io.*;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.SimpleTimeZone;
import java.util.concurrent.TimeUnit;

public class EpochConverterClass {

/**
* @param args
*/
public static String dateHumanConvert(String dateEpochFormat) {
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Calendar cal = Calendar.getInstance(new SimpleTimeZone(0, "GMT"));
formatter.setCalendar(cal);

Date dateHuman = new Date(Long.parseLong(dateEpochFormat) * 1000);
// eg 22/07/2011 02:46:54
String dateString = dateEpochFormat + ","+formatter.format(dateHuman).toString();
return dateString;
}

public static String dateEpochConvert(String dateHumanFormat)  throws ParseException {
SimpleDateFormat formatter2 = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Date date = formatter2.parse(dateHumanFormat);
long timeInMillisSinceEpoch = date.getTime();
String dateString = dateHumanFormat + ","+ String.valueOf(TimeUnit.MILLISECONDS.toSeconds(timeInMillisSinceEpoch));
return dateString;
}

public static void main(String[] args) throws IOException, FileNotFoundException {

try{
// Open the file that is the first
// command line parameter
if (args.length != 2) {
System.out.println("Please enter: timeformatof Input file,  Input Config File");
System.out.println("Usage: <scriptname> <inputfiletimeformat> <input_file_name_full_path>");
System.exit(10);

}
String FormatDetection = args [0];
FileInputStream fstream = new FileInputStream(args[1]);
// Get the object of DataInputStream
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String dateEpoch, dateHumanFormat;

//String dateEpoch = "1311302814";
//Read File Line By Line

if (FormatDetection.equals("epoch"))  {
System.out.println("EPOCH_TIME,DATE_TIME_FORMAT_GB");
while ((dateEpoch = br.readLine()) != null)   {
System.out.println (dateHumanConvert(dateEpoch));

}
}
else if (FormatDetection.equals("human")){
System.out.println("DATE_TIME_FORMAT_GB,EPOCH_TIME");
while ((dateHumanFormat = br.readLine()) != null)   {
System.out.println (dateEpochConvert(dateHumanFormat));
}
}

else {
System.out.println ("program Unable to detect format of Date");
}

//Close the input stream
in.close();
br.close();
fstream.close();
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}

// TODO Auto-generated method stub

}

}

The Usage is like below

Usage: <scriptname> <inputfiletimeformat> <input_file_name_full_path>

where inputfiletimeformat is either "epoch"  or "human" to convert between two formats.

 

I've attached a basic shell script as a wrapper to run the java program
#!/usr/bin/ksh

# Wrapper to run the java file
# Please input the input config file containing epochTimes
# The config file should contain only 1 epoch Time per line
# Basic Batch Epoch Converter : diaryFolio

# Format
# ./runThis.ksh <inputFileDateFormat> <inputConfigFilename>

`which java` -classpath "." EpochConverterClass $1 $2

 

Popular posts from this blog

Create your own Passport Photo using GIMP

This tutorial is for semi-techies who knows a bit of GIMP (image editing).   This tutorial is for UK style passport photo ( 45mm x 35 mm ) which is widely used in UK, Australia, New Zealand, India etc.  This is a quick and easy process and one can create Passport photos at home If you are non-technical, use this link   .  If you want to create United States (USA) Passport photo or Overseas Citizen of India (OCI) photo, please follow this link How to Make your own Passport Photo - Prerequisite GIMP - One of the best image editing tools and its completely Free USB stick or any memory device to store and take to nearby shop A quality Digital camera Local Shops where you can print. Normally it costs (£0.15 or 25 US cents) to print 8 photos Steps (Video Tutorial attached blow of this page) Ask one of your colleague to take a photo  of you with a light background. Further details of how to take a photo  yourself       Take multiple pictures so that you can choose from th

Syslog Standards: A simple Comparison between RFC3164 & RFC5424

Syslog Standards: A simple Comparison between RFC3164 (old format) & RFC5424 (new format) Though syslog standards have been for quite long time, lot of people still doesn't understand the formats in detail. The original standard document is quite lengthy to read and purpose of this article is to explain with examples Some of things you might need to understand The RFC standards can be used in any syslog daemon (syslog-ng, rsyslog etc.) Always try to capture the data in these standards. Especially when you have log aggregation like Splunk or Elastic, these templates are built-in which makes your life simple. Syslog can work with both UDP & TCP  Link to the documents the original BSD format ( RFC3164 ) the “new” format ( RFC5424 ) RFC3164 (the old format) RFC3164 originated from combining multiple implementations (Year 2001)

VS Code & Portable GIT shell integration in Windows

Visual Studio Code & GIT Portable shell Integration Summary Many of your corporate laptop cannot install programs and it is quite good to have them as portable executables. Here we find a way to have Portable VS Code and Portable GIT and integrate the GIT shell into VS Code Pre-Reqs VS Code (Install version or Portable ) GIT portable Steps Create a directory in your Windows device (eg:  C:\installables\ ) Unpack GIT portable into the above directory (eg it becomes: C:\installables\PortableGit ) Now unpack Visual Studio (VS) Code and run it. The default shell would be windows based Update User or Workspace settings of VS Code (ShortCut is:  Control+Shift+p ) Update the settings with following setting { "workbench.colorTheme": "Default Dark+", "git.ignoreMissingGitWarning": true, "git.enabled": true, "git.path": "C:\\installables\\PortableGit\\bin\\git.exe", "terminal.integrated.shell.windows"