JAVA指定日期与毫秒数相互转换

package Rong;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Test{
      //将指定日期转化为秒数
      public static int getSecondsFromDate(String expireDate){
              if(expireDate==null||expireDate.trim().equals(""))
                      return 0;
              SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
              Date date=null;
              try{
                      date=sdf.parse(expireDate);
                      return (int)(date.getTime()/1000);
                      }
              catch(ParseException e)
              {
                      e.printStackTrace();
                      return 0;
                      }
              }
      //秒数转化为日期
      public static String getDateFromSeconds(String seconds){
              if(seconds==null)
                      return " ";
              else{
                      Date date=new Date();
                      try{
                              date.setTime(Long.parseLong(seconds)*1000);
                              }
                      catch(NumberFormatException nfe){
                              nfe.printStackTrace();
                              return "Input string:"+seconds+"not correct,eg:2011-01-20";
                              }
                      SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
                      return sdf.format(date);
                      }
              }
      //检查输入的日期格式是否正确
      public static boolean checkDate(String date){
              String DatePattern = "^(?:([0-9]{4}-(?:(?:0?[1,3-9]|1[0-2])-(?:29|30)|"
                            + "((?:0?[13578]|1[02])-31)))|"
                            + "([0-9]{4}-(?:0?[1-9]|1[0-2])-(?:0?[1-9]|1\\d|2[0-8]))|"
                            + "(((?:(\\d\\d(?:0[48]|[2468][048]|[13579][26]))|"
                            + "(?:0[48]00|[2468][048]00|[13579][26]00))-0?2-29)))$";
              Pattern p=Pattern.compile(DatePattern);
              Matcher m=p.matcher(date);
              boolean b=m.matches();
              return b;             
      }
     
      public static void  main(String[] arg0){
              System.out.println("请输入日期(年月日,格式如:1970-01-01)");
              Scanner s=new Scanner(System.in);
              String t=s.next();
              if(checkDate(t)){
                      System.out.println("1970年1月1日到"+t+"的秒数为:");
                      int i=Test.getSecondsFromDate(t);
                      System.out.println(i);
                     
                      System.out.println("再由秒数转换为日期:");
                      String str=Test.getDateFromSeconds(String.valueOf(i));
                      System.out.println(str);
              }
              else{
                      System.out.println("您输入的日期格式不正确!");
              }
              }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值