文字型の日付をタイムスタンプに変換する

SimpleDateFormat ではなく、Apache Commons の lang ライブラリを使う。

import java.sql.Timestamp;
import java.text.ParseException;

import org.apache.commons.lang.time.DateUtils;

public class StringDatetimeToTimestamp {

	public static void main(String[] args) {
		// UTC 1970-01-01 00:00:00 に JST 9時間をプラスした時刻をローカルの現在時刻とする
		String targetDatetime = "1970-01-01 09:00:00";
		try {
			// 文字型の日時をパースして UTC 基準の UNIX タイムスタンプに変換する
			Timestamp ts = new Timestamp(DateUtils.parseDate(targetDatetime, new String[] {"yyyy-MM-dd HH:mm:ss"}).getTime());
			// Java のタイムスタンプはミリ秒単位で返すので、秒単位に変換する
			long timestamp = ts.getTime()/1000;
			// 0 (秒)を返す
			System.out.println(timestamp);
		} catch (ParseException e) {
			// TODO 自動生成された catch ブロック
			e.printStackTrace();
		}
	}
}