java字符串转时间戳_java窗口程序字符串时间转成时间戳

pom.xml 文件:

?xml version="1.0" encoding="UTF-8"?>

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

base

com.bigdata

1.0

4.0.0

base-tools

commons-lang

commons-lang

2.6

org.eclipse.swt

org.eclipse.swt.win32.win32.x86_64

4.3

log4j

log4j

1.2.17

org.slf4j

slf4j-log4j12

${slf4j.version}

log4j

log4j

org.eclipse.swt

swing2swt

1.0

commons-io

commons-io

2.4

commons-collections

commons-collections

3.2.1

org.apache.maven.plugins

maven-shade-plugin

2.4.1

package

shade

com.hikvision.cods.ui.DateFormatMainUI

类:

import com.hikvision.cods.util.FontUtils;

import java.awt.Dimension;

import java.awt.Toolkit;

import java.util.Date;

import java.util.Properties;

import org.apache.commons.lang.StringUtils;

import org.apache.commons.lang.math.NumberUtils;

import org.apache.log4j.PropertyConfigurator;

import org.eclipse.swt.events.FocusEvent;

import org.eclipse.swt.events.FocusListener;

import org.eclipse.swt.events.MouseEvent;

import org.eclipse.swt.events.MouseListener;

import org.eclipse.swt.events.ShellAdapter;

import org.eclipse.swt.events.ShellEvent;

import org.eclipse.swt.layout.GridData;

import org.eclipse.swt.layout.GridLayout;

import org.eclipse.swt.widgets.Composite;

import org.eclipse.swt.widgets.Display;

import org.eclipse.swt.widgets.Group;

import org.eclipse.swt.widgets.Label;

import org.eclipse.swt.widgets.MessageBox;

import org.eclipse.swt.widgets.Shell;

import org.eclipse.swt.widgets.Text;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import swing2swt.layout.BorderLayout;

public class DateFormatMainUI

{

protected static final Logger logger = LoggerFactory.getLogger(DateFormatMainUI.class);

private static volatile boolean running = true;

public static final Display display = Display.getDefault();

public static final Shell shell = new Shell(192);

public static void main(String[] args)

{

Runtime.getRuntime().addShutdownHook(new Thread()

{

public void run()

{

DateFormatMainUI.logger.info("PerfMainUI closed!");

synchronized (DateFormatMainUI.class)

{

DateFormatMainUI.running = false;

DateFormatMainUI.class.notifyAll();

}

}

});

DateFormatMainUI window = new DateFormatMainUI();

window.configLog4j();

window.open();

synchronized (DateFormatMainUI.class)

{

while (running) {

try

{

DateFormatMainUI.class.wait();

}

catch (Throwable localThrowable) {}

}

}

}

protected void open()

{

shell.setSize(500, 130);

shell.setText("日期格式转换工具");

shell.setLayout(new BorderLayout(0, 0));

Composite subComposite = new Composite(shell, 0);

subComposite.setLayout(new BorderLayout(5, 5));

loadMainPanel(subComposite);

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

int width = Math.min(shell.getSize().x, screenSize.width);

int height = Math.min(shell.getSize().y, screenSize.height);

int locX = (screenSize.width - width) / 2;

int locY = (screenSize.height - height) / 2;

shell.setLocation(locX, locY);

shell.open();

shell.layout();

shell.addShellListener(new ShellAdapter()

{

public void shellClosed(ShellEvent e)

{

MessageBox messagebox = new MessageBox(DateFormatMainUI.shell, 196);

messagebox.setText("确认");

messagebox.setMessage("您确定要退出吗?");

int message = messagebox.open();

if (((e.doit = message == 64) ? 1 : 0) != 0)

{

DateFormatMainUI.logger.info("++++++++++++++++++++++++++++++++");

System.exit(0);

}

}

});

while (!shell.isDisposed()) {

if (!display.readAndDispatch()) {

display.sleep();

}

}

display.dispose();

}

protected void loadMainPanel(Composite parent)

{

Composite mainCenter = new Composite(parent, 0);

mainCenter.setLayoutData("Center");

GridLayout gl_mainCenter = new GridLayout(1, false);

gl_mainCenter.marginWidth = 0;

gl_mainCenter.marginHeight = 0;

gl_mainCenter.horizontalSpacing = 0;

gl_mainCenter.verticalSpacing = 0;

mainCenter.setLayout(gl_mainCenter);

Group detailGroup = new Group(mainCenter, 0);

detailGroup.setLayoutData(new GridData(4, 4, true, true, 1, 1));

detailGroup.setLayout(new GridLayout(5, false));

generateTextLabel(detailGroup, "日期字符: ");

final Text textDateStr = generateText(detailGroup, "", "dateStr");

generateSpliterLabel(detailGroup);

generateTextLabel(detailGroup, "日期数值: ");

final Text textDateNum = generateText(detailGroup, "", "dateNum");

generateSpliterLabel(detailGroup);

textDateStr.addFocusListener(new FocusListener()

{

public void focusLost(FocusEvent arg0)

{

textDateStr.clearSelection();

Date date = DateFormatUtils.toDate(textDateStr.getText(), "yyyy-MM-dd HH:mm:ss.SSS");

textDateNum.setText(String.valueOf(date == null ? 0L : date.getTime()));

}

public void focusGained(FocusEvent arg0)

{

System.out.println("dateStr focusGained..............................");

textDateStr.selectAll();

}

});

textDateStr.addMouseListener(new MouseListener()

{

public void mouseUp(MouseEvent arg0) {}

public void mouseDown(MouseEvent arg0) {}

public void mouseDoubleClick(MouseEvent arg0)

{

textDateStr.selectAll();

}

});

textDateNum.addFocusListener(new FocusListener()

{

public void focusLost(FocusEvent arg0)

{

textDateNum.clearSelection();

textDateStr.setText(DateFormatUtils.format(NumberUtils.toLong(textDateNum.getText()), "yyyy-MM-dd HH:mm:ss.SSS"));

}

public void focusGained(FocusEvent arg0)

{

System.out.println("dateNum focusGained..............................");

textDateNum.selectAll();

}

});

textDateNum.addMouseListener(new MouseListener()

{

public void mouseUp(MouseEvent arg0) {}

public void mouseDown(MouseEvent arg0) {}

public void mouseDoubleClick(MouseEvent arg0)

{

textDateNum.selectAll();

}

});

}

private void convert(Text textDateStr, Text textDateLong)

{

String dateStr = textDateStr.getText();

String dateNum = textDateLong.getText();

if (StringUtils.isEmpty(dateStr))

{

if (StringUtils.isEmpty(dateNum))

{

long timeInMillis = System.currentTimeMillis();

textDateStr.setText(DateFormatUtils.format(timeInMillis, "yyyy-MM-dd HH:mm:ss.SSS"));

textDateLong.setText(String.valueOf(timeInMillis));

}

else

{

long timeInMillis = NumberUtils.toLong(dateNum);

textDateStr.setText(DateFormatUtils.format(timeInMillis, "yyyy-MM-dd HH:mm:ss.SSS"));

}

}

else if (StringUtils.isEmpty(dateNum))

{

Date date = DateFormatUtils.toDate(dateStr, "yyyy-MM-dd HH:mm:ss.SSS");

textDateLong.setText(String.valueOf(date == null ? 0L : date.getTime()));

}

}

private void generateSpliterLabel(Group parentGroup)

{

Label label = new Label(parentGroup, 16777224);

label.setLayoutData(new GridData(131072, 16777216, true, false, 1, 1));

}

private void generateTextLabel(Group parentGroup, String labelText)

{

Label label = new Label(parentGroup, 16777224);

label.setLayoutData(new GridData(131072, 16777216, true, false, 1, 1));

label.setText(labelText);

label.setFont(FontUtils.getConsolas());

}

private Text generateText(Group parentGroup, String defaultText, String name)

{

Text text = new Text(parentGroup, 2048);

GridData gridData = new GridData(4, 16777216, true, false, 3, 1);

gridData.widthHint = 280;

gridData.heightHint= 20;

text.setLayoutData(gridData);

text.setData("name", name);

text.setText(defaultText);

text.setTextLimit(50);

text.setFont(FontUtils.getConsolas());

return text;

}

protected void configLog4j()

{

String level = "DEBUG";

Properties properties = new Properties();

properties.setProperty("log4j.rootLogger", level + ", application");

properties.setProperty("log4j.rootLogger.encoding", "UTF-8");

properties.setProperty("log4j.logger.org.apache", "INFO");

properties.setProperty("log4j.logger.org.springframework", "INFO");

properties.setProperty("log4j.appender.application", "org.apache.log4j.DailyRollingFileAppender");

properties.setProperty("log4j.appender.application.File", "DateFormatMainUI.log");

properties.setProperty("log4j.appender.application.Append", "true");

properties.setProperty("log4j.appender.application.DatePattern", "'.'yyyy-MM-dd");

properties.setProperty("log4j.appender.application.layout", "org.apache.log4j.PatternLayout");

properties.setProperty("log4j.appender.application.layout.ConversionPattern", "%d [%t] %-5p %C{6} (%F:%L) - %m%n");

PropertyConfigurator.configure(properties);

}

}

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Calendar;

import java.util.Date;

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

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

public class DateFormatUtils

{

protected static final Logger LOGGER = LoggerFactory.getLogger(DateFormatUtils.class);

public static final String DATE_TIME_FORMATTER_DEFAULT = "yyyy-MM-dd'T'HH:mm:ss'Z'";

public static final String DATE_TIME_FORMATTER_STANDARD = "yyyy-MM-dd HH:mm:ss";

public static final String DATE_TIME_FORMATTER_STANDARD_TZ = "yyyy-MM-dd'T'HH:mm:ss'Z'";

public static final String DATE_TIME_FORMATTER_LONG = "yyyy-MM-dd HH:mm:ss.SSS";

public static final String DATE_TIME_FORMATTER_LONG_TZ = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";

public static final String DATE_TIME_FORMATTER_NET = "yyyy-MM-dd HH:mm:ss.SSS";

public static final long TIMEMILLIS_FOR_ONE_DAY = 86400000L;

public static String format(long date)

{

FastDateFormat df = FastDateFormat.getInstance("yyyy-MM-dd'T'HH:mm:ss'Z'");

return df.format(date);

}

public static String format(long date, String format)

{

FastDateFormat df = FastDateFormat.getInstance(format);

return df.format(date);

}

public static String format(Date date)

{

FastDateFormat df = FastDateFormat.getInstance("yyyy-MM-dd'T'HH:mm:ss'Z'");

return df.format(date);

}

public static String format(Date date, String format)

{

FastDateFormat df = FastDateFormat.getInstance(format);

return df.format(date);

}

public static String format(String dateStr, String srcFormat, String dstFormat)

{

Date date = toDate(dateStr, srcFormat);

FastDateFormat df = FastDateFormat.getInstance(dstFormat);

return df.format(date);

}

public static Date toDate(String dateStr, String pattern)

{

try

{

SimpleDateFormat dateFormat = new SimpleDateFormat(pattern);

return dateFormat.parse(dateStr);

}

catch (ParseException e) {}

return null;

}

public static String format___(Date date)

{

FastDateFormat df = FastDateFormat.getInstance("yyyyMMddhh");

return df.format(date);

}

public static long getMonthFirstDay(long timeInMillis)

{

Calendar calendar = Calendar.getInstance();

calendar.setTimeInMillis(timeInMillis);

calendar.set(5, calendar.getActualMinimum(5));

calendar.set(11, calendar.getActualMinimum(11));

calendar.set(12, calendar.getActualMinimum(12));

calendar.set(13, calendar.getActualMinimum(13));

calendar.set(14, calendar.getActualMinimum(14));

return calendar.getTime().getTime();

}

public static long getMonthLastDay(long timeInMillis)

{

Calendar calendar = Calendar.getInstance();

calendar.setTimeInMillis(timeInMillis);

calendar.set(5, calendar.getActualMaximum(5));

calendar.set(11, calendar.getActualMaximum(11));

calendar.set(12, calendar.getActualMaximum(12));

calendar.set(13, calendar.getActualMaximum(13));

calendar.set(14, calendar.getActualMaximum(14));

return calendar.getTime().getTime();

}

public static long getDateBeginTime(long timeInMillis)

{

Calendar calendar = Calendar.getInstance();

calendar.setTimeInMillis(timeInMillis);

calendar.set(11, calendar.getActualMinimum(11));

calendar.set(12, calendar.getActualMinimum(12));

calendar.set(13, calendar.getActualMinimum(13));

calendar.set(14, calendar.getActualMinimum(14));

return calendar.getTime().getTime();

}

public static long getDateEndTime(long timeInMillis)

{

Calendar calendar = Calendar.getInstance();

calendar.setTimeInMillis(timeInMillis);

calendar.set(11, calendar.getActualMaximum(11));

calendar.set(12, calendar.getActualMaximum(12));

calendar.set(13, calendar.getActualMaximum(13));

calendar.set(14, calendar.getActualMaximum(14));

return calendar.getTime().getTime();

}

public static String getNextDay(String dateStr, String format)

{

Date date = toDate(dateStr, format);

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

calendar.set(5, calendar.get(5) + 1);

return format(calendar.getTime(), format);

}

public static String getLatestSunday(String dateStr, String format)

{

Date date = toDate(dateStr, format);

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

return format(date.getTime() + (8 - calendar.get(7)) * 86400000L, format);

}

public static String getLatestMonthEnd(String dateStr, String format)

{

Date date = toDate(dateStr, format);

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);

calendar.set(2, calendar.get(2) + 1);

calendar.set(5, calendar.getActualMinimum(5));

return format(calendar.getTime(), format);

}

public static void main(String[] args)

{

System.out.println(getNextDay("150205", "yyMMdd"));

System.out.println(getLatestSunday("150205", "yyMMdd"));

System.out.println(getLatestMonthEnd("150205", "yyMMdd"));

System.out.println(getNextDay("150208", "yyMMdd"));

System.out.println(getLatestSunday("150209", "yyMMdd"));

System.out.println(getLatestMonthEnd("150209", "yyMMdd"));

}

}

import org.eclipse.swt.graphics.Font;

import org.eclipse.swt.widgets.Display;

public class FontUtils

{

static final int FONT_HIGHT_DEFAULT = 12;

static final int FONT_HIGHT_BANNER = 30;

static Font bannerFont = new Font(Display.getCurrent(), "黑体", 30, 1);

static Font consolas = new Font(Display.getCurrent(), "Consolas", 12, 0);

public static Font getBanner()

{

return bannerFont;

}

public static Font getConsolas()

{

return consolas;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值