加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

java 获得计算机的硬件信息

(2011-09-20 21:27:51)
标签:

java

获得

计算机

硬件信息

it

分类: 编程语言

 

windows下获取系统硬件信息,代码已测试===================================

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;

public class Test {
public static String[] getInfor() {
String address = "";
String ip = "";
String sysname = "";
String name = "";
String username = "";
String []all = new String[5];
String os = System.getProperty("os.name");
if (os != null && os.startsWith("Windows")) {
try {
ProcessBuilder pb = new ProcessBuilder("ipconfig", "/all");
Process p = pb.start();
BufferedReader br = new BufferedReader(new InputStreamReader(p
.getInputStream()));
String line;
while ((line = br.readLine()) != null) {
if (line.indexOf("Physical Address") != -1) {
int index = line.indexOf(":");
address = line.substring(index + 1);
}
if (line.indexOf("IP Address") != -1) {
int index = line.indexOf(":");
ip = line.substring(index + 1);
}
}
br.close();
List <String> command = new ArrayList<String>();
command.add("net");
command.add("config");
command.add("workstation");
pb.command(command);
p = pb.start();
br = new BufferedReader(new InputStreamReader(p
.getInputStream()));
int index;
while ((line = br.readLine()) != null) {
if ((index = line.indexOf("计算机全名")) != -1) {
name = line.substring(index + 5);
}
if ((index = line.indexOf("用户名")) != -1) {
username = line.substring(index + 4);
}
if ((index = line.indexOf("计算机名")) != -1) {
sysname = line.substring(index + 4);
}
}
all[0] = address.trim();
all[1] = ip.trim();
all[2] = sysname.trim();
all[3] = name.trim();
all[4] = username.trim();
} catch (IOException e) {
}
}
return all;
}

public static void main(String[] args) throws UnknownHostException {
String []result = Test.getInfor();
for(String s : result)
System.out.println(s);
}
}

linux下获取系统硬件信息,代码未测试===================================

IMonitorService接口:
public interface IMonitorService {
public MonitorInfoBean getMonitorInfoBean() throws Exception;
}
MonitorInfoBean类:

public class MonitorInfoBean implements Comparable<MonitorInfoBean> {

private String osName;

private float totalMemorySize;

private float usedMemory;

private double cpuRatio;

private String mIpAddress;

private String dDateTime;

private float memoryRatio;


private float buffersMemory;


private float cachedMemory;

public float getBuffersMemory() {
   return buffersMemory;
}
public float getCachedMemory() {
   return cachedMemory;
}
public String getDDateTime() {
   return dDateTime;
}
public void setDDateTime(String dateTime) {
   dDateTime = dateTime;
}
public String getMIpAddress() {
   return mIpAddress;
}
public void setMIpAddress(String ipAddress) {
   mIpAddress = ipAddress;
}
public String getOsName() {
   return osName;
}
public void setOsName(String osName) {
   this.osName = osName;
}
public float getTotalMemorySize() {
   return totalMemorySize;
}
public void setTotalMemorySize(float totalMemorySize) {
   this.totalMemorySize = totalMemorySize;
}
public float getUsedMemory() {
   return usedMemory;
}
public void setUsedMemory(long usedMemory) {
   this.usedMemory = usedMemory;
}
public double getCpuRatio() {
   return cpuRatio;
}
public void setCpuRatio(double cpuRatio) {
   this.cpuRatio = cpuRatio;
}
public int compareTo(MonitorInfoBean m) {
   String stra = this.getDDateTime();
   String strb = m.getDDateTime();
   Timestamp a = Timestamp.valueOf(stra);
   Timestamp b = Timestamp.valueOf(strb);
   if (a.before(b)) {
    return -1;
   } else if (a.after(b)) {
    return 1;
   } else {
    return 0;
   }
}
public float getMemoryRatio() {
   return memoryRatio;
}
public void setMemoryRatio(float memoryRatio) {
   this.memoryRatio = memoryRatio;
}
public void setUsedMemory(float usedMemory) {
   this.usedMemory = usedMemory;
}
public void setBuffersMemory(float buffersMemory) {
   this.buffersMemory = buffersMemory;
}
public void setCachedMemory(float cachedMemory) {
   this.cachedMemory = cachedMemory;
}

}

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.LineNumberReader;
import java.net.Inet6Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Enumeration;
import java.util.StringTokenizer;
import sun.management.ManagementFactory;
import com.sun.management.OperatingSystemMXBean;



public class MonitorServiceImpll implements IMonitorService {
   private static final int CPUTIME = 30;
   private static final int PERCENT = 100;
   private static final int FAULTLENGTH = 10;
   private static String osVersion = null;
   private String mIpAddress = null;
   private String dDateTime = null;
   private float totalMemorySize = 0.0f;
   private float buffersMemory = 0.0f;
   private float cachedMemory = 0.0f;
   private float usedMemory = 0.0f;
   private float memoryRatio;
  
   public MonitorInfoBean getMonitorInfoBean() throws Exception {
    int kb = 1024;
    CountDate ddate = new CountDate();
    osVersion = System.getProperty("os.version");
    OperatingSystemMXBean osmxb = (OperatingSystemMXBean) ManagementFactory
      .getOperatingSystemMXBean();
    // 操作系统
    String osName = System.getProperty("os.name");
    // 主机IP
    if (osName.toLowerCase().startsWith("windows")) {
     mIpAddress = this.getWindowsIp();
    } else {
     mIpAddress = this.getLinuxIP();
    }
    if (osName.toLowerCase().startsWith("windows")) {
     // 总的物理内存
     float totalPhysicalMemorySize = osmxb.getTotalPhysicalMemorySize()
       / kb;
     float usedPhysicalMemorySize = (osmxb.getTotalPhysicalMemorySize() - osmxb
       .getFreePhysicalMemorySize())
       / kb;
     totalMemorySize = Float.parseFloat(String.format("%.1f",
       totalPhysicalMemorySize));
     // 已使用的物理内存
     usedMemory = Float.parseFloat(String.format("%.1f",
       usedPhysicalMemorySize));
     // windows内存使用率
     memoryRatio = Float.parseFloat(String.format("%.1f",
       (usedMemory / totalMemorySize) * 100));
    } else {  
     float[] result = null;
     result = getLinuxMemInfo();
     totalMemorySize = Float
       .parseFloat(String.format("%.1f", result[0]));
     buffersMemory = Float.parseFloat(String.format("%.1f", result[1]));
     cachedMemory = Float.parseFloat(String.format("%.1f", result[2]));
     usedMemory = totalMemorySize - result[3];
     // linux内存使用率
     memoryRatio = Float
       .parseFloat(String
         .format(
           "%.1f",
           ((usedMemory - (cachedMemory + buffersMemory)) / totalMemorySize) * 100));
    }
    // 获得cpu频率
    double cpuRatio = 0;
    if (osName.toLowerCase().startsWith("windows")) {
     cpuRatio = this.getCpuRatioForWindows();
    } else {
     cpuRatio = this.getCpuRateForLinux();
    }
   
    dDateTime = ddate.getCurrentYMDHMS();
    // 构造返回对象
    MonitorInfoBean infoBean = new MonitorInfoBean();
    infoBean.setOsName(osName);
    infoBean.setCpuRatio(cpuRatio);
    infoBean.setMIpAddress(mIpAddress);
    infoBean.setDDateTime(dDateTime);
    infoBean.setBuffersMemory(buffersMemory);
    infoBean.setCachedMemory(cachedMemory);
    infoBean.setUsedMemory(usedMemory);
    infoBean.setTotalMemorySize(totalMemorySize);
    infoBean.setMemoryRatio(memoryRatio);
    return infoBean;
   }
  
   public String getLinuxIP() {
    String ip = "";
    try {
     Enumeration<?> e1 = (Enumeration<?>) NetworkInterface
       .getNetworkInterfaces();
     while (e1.hasMoreElements()) {
      NetworkInterface ni = (NetworkInterface) e1.nextElement();
      if (!ni.getName().equals("eth0")) {
       continue;
      } else {
       Enumeration<?> e2 = ni.getInetAddresses();
       while (e2.hasMoreElements()) {
        InetAddress ia = (InetAddress) e2.nextElement();
        if (ia instanceof Inet6Address)
         continue;
        ip = ia.getHostAddress();
       }
       break;
      }
     }
    } catch (SocketException e) {
     e.printStackTrace();
     System.exit(-1);
    }
    return ip;
   }
   public String getWindowsIp() {
    String ip = "";
    try {
     ip = InetAddress.getLocalHost().getHostAddress();
    } catch (UnknownHostException e) {
     e.printStackTrace();
    }
    return ip;
   }
  
   private double getCpuRateForLinux() {
    InputStream is = null;
    InputStreamReader isr = null;
    BufferedReader brStat = null;
    StringTokenizer tokenStat = null;
    try {
   
     Process process = Runtime.getRuntime().exec("top -b -n 1");
     is = process.getInputStream();
     isr = new InputStreamReader(is);
     brStat = new BufferedReader(isr);
     if (osVersion.startsWith("2.4")) {
      brStat.readLine();
      brStat.readLine();
      brStat.readLine();
      brStat.readLine();
      tokenStat = new StringTokenizer(brStat.readLine());
      tokenStat.nextToken();
      tokenStat.nextToken();
      String user = tokenStat.nextToken();
      tokenStat.nextToken();
      String system = tokenStat.nextToken();
      tokenStat.nextToken();
      String nice = tokenStat.nextToken();
      user = user.substring(0, user.indexOf("%"));
      system = system.substring(0, system.indexOf("%"));
      nice = nice.substring(0, nice.indexOf("%"));
      float userUsage = new Float(user).floatValue();
      float systemUsage = new Float(system).floatValue();
      float niceUsage = new Float(nice).floatValue();
      return (userUsage + systemUsage + niceUsage) / 100;
     } else {
      brStat.readLine();
      brStat.readLine();
      tokenStat = new StringTokenizer(brStat.readLine());
      tokenStat.nextToken();
      tokenStat.nextToken();
      tokenStat.nextToken();
      tokenStat.nextToken();
      String cpuUsage = tokenStat.nextToken();
      Float usage = new Float(cpuUsage.substring(0, cpuUsage
        .indexOf("%")));
      return ((1 - usage.floatValue() / 100) * 100);
     }
    } catch (IOException ioe) {
     System.out.println(ioe.getMessage());
     freeResource(is, isr, brStat);
     return 1;
    } finally {
     freeResource(is, isr, brStat);
    }
   }
   private static void freeResource(InputStream is, InputStreamReader isr,
     BufferedReader br) {
    try {
     if (is != null)
      is.close();
     if (isr != null)
      isr.close();
     if (br != null)
      br.close();
    } catch (IOException ioe) {
     System.out.println(ioe.getMessage());
    }
   }
  
   private double getCpuRatioForWindows() {
    try {
     mIpAddress = InetAddress.getLocalHost().getHostAddress();
     String procCmd = System.getenv("windir")
       + "\\system32\\wbem\\wmic.exe process get Caption,CommandLine,"
       + "KernelModeTime,ReadOperationCount,ThreadCount,UserModeTime,WriteOperationCount";
     // 取进程信息
     long[] c0 = readCpu(Runtime.getRuntime().exec(procCmd));
     Thread.sleep(CPUTIME);
     long[] c1 = readCpu(Runtime.getRuntime().exec(procCmd));
     if (c0 != null && c1 != null) {
      long idletime = c1[0] - c0[0];
      long busytime = c1[1] - c0[1];
      return Double.valueOf(
        PERCENT * (busytime) / (busytime + idletime))
        .doubleValue();
     } else {
      return 0.0;
     }
    } catch (Exception ex) {
     ex.printStackTrace();
     return 0.0;
    }
   }
  
   private long[] readCpu(final Process proc) {
    long[] retn = new long[2];
    try {
     proc.getOutputStream().close();
     InputStreamReader ir = new InputStreamReader(proc.getInputStream());
     LineNumberReader input = new LineNumberReader(ir);
     String line = input.readLine();
     if (line == null || line.length() < FAULTLENGTH) {
      return null;
     }
     int capidx = line.indexOf("Caption");
     int cmdidx = line.indexOf("CommandLine");
     int rocidx = line.indexOf("ReadOperationCount");
     int umtidx = line.indexOf("UserModeTime");
     int kmtidx = line.indexOf("KernelModeTime");
     int wocidx = line.indexOf("WriteOperationCount");
     long idletime = 0;
     long kneltime = 0;
     long usertime = 0;
     while ((line = input.readLine()) != null) {
      if (line.length() < wocidx) {
       continue;
      }
      // 字段出现顺序:Caption,CommandLine,KernelModeTime,ReadOperationCount,
      // ThreadCount,UserModeTime,WriteOperation
      String caption = Bytes.substring(line, capidx, cmdidx - 1)
        .trim();
      String cmd = Bytes.substring(line, cmdidx, kmtidx - 1).trim();
      if (cmd.indexOf("wmic.exe") >= 0) {
       continue;
      }
      // log.info("line="+line);
      if (caption.equals("System Idle Process")
        || caption.equals("System")) {
       idletime += Long.valueOf(
         Bytes.substring(line, kmtidx, rocidx - 1).trim())
         .longValue();
       idletime += Long.valueOf(
         Bytes.substring(line, umtidx, wocidx - 1).trim())
         .longValue();
       continue;
      }
      kneltime += Long.valueOf(
        Bytes.substring(line, kmtidx, rocidx - 1).trim())
        .longValue();
      usertime += Long.valueOf(
        Bytes.substring(line, umtidx, wocidx - 1).trim())
        .longValue();
     }
     retn[0] = idletime;
     retn[1] = kneltime + usertime;
     return retn;
    } catch (Exception ex) {
     ex.printStackTrace();
    } finally {
     try {
      proc.getInputStream().close();
     } catch (Exception e) {
      e.printStackTrace();
     }
    }
    return null;
   }
   public float[] getLinuxMemInfo() {
    File file = new File("/proc/meminfo"); 
    float result[] = new float[4];
    try {
     BufferedReader br = new BufferedReader(new InputStreamReader(
       new FileInputStream(file)));
     String str = null;
     StringTokenizer token = null;
     while ((str = br.readLine()) != null) {
      token = new StringTokenizer(str);
      if (!token.hasMoreTokens()) {
       continue;
      }
      str = token.nextToken();
      if (!token.hasMoreTokens()) {
       continue;
      }
      if (str.equalsIgnoreCase("MemTotal:")) {
       result[0] = Long.parseLong(token.nextToken());
      }
      if (str.equalsIgnoreCase("Buffers:")) {
       result[1] = Long.parseLong(token.nextToken());
      }
      if (str.equalsIgnoreCase("Cached:")) {
       result[2] = Long.parseLong(token.nextToken());
      }
      if (str.equalsIgnoreCase("MemFree:")) {
       result[3] = Long.parseLong(token.nextToken());
      }
     }
    } catch (FileNotFoundException e) {
     e.printStackTrace();
    } catch (IOException e) {
     e.printStackTrace();
    }
    return result;
   }
  
   public static void information() { 
    MonitorInfoBean monitorInfo = null;
    IMonitorService service = new MonitorServiceImpl();
  
    try {
     monitorInfo = service.getMonitorInfoBean();
    } catch (Exception e) {  
     e.printStackTrace();
    }
    String osName = monitorInfo.getOsName();
    String cpuRatio = String.valueOf(monitorInfo.getCpuRatio());
    String mIpAddress = monitorInfo.getMIpAddress();
    String memoryRatio = String.valueOf(monitorInfo.getMemoryRatio());
    String dDateTime = monitorInfo.getDDateTime();
    System.out.println("操作系统名字:"+osName);
    System.out.println("cpu使用频率:"+cpuRatio);
    System.out.println("内存使用率:"+memoryRatio);
    System.out.println("主机IP地址:"+mIpAddress);
    System.out.println("获取数据时间:"+dDateTime);
   }

public static void main(String[] args) {
   MonitorServiceImpl.information();
}
}
CountDate类
import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

public class CountDate {

private String currentMonth;
private String nextMonth;
private String currentYear;
private String nextYear;
private String currentYM;
private String currentYMDHMS;
private Date currentYMDHMSs;
private String nextYMDHMS;

public String getCurrentMonth() {
   Calendar rightNow = Calendar.getInstance();
   if (String.valueOf(rightNow.get(Calendar.MONTH) + 1).length() > 1) {
    this.currentMonth = String
      .valueOf(rightNow.get(Calendar.MONTH) + 1);
    return currentMonth;
   }
   this.currentMonth = "0"
     + String.valueOf(rightNow.get(Calendar.MONTH) + 1);
   return currentMonth;
}

public String getCurrentYear() {
   Calendar rightNow = Calendar.getInstance();
   this.currentYear = String.valueOf(rightNow.get(Calendar.YEAR));
   return currentYear;
}

public String getCurrentYMDHMS() {
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
   Timestamp t = new Timestamp(Calendar.getInstance().getTimeInMillis());
   this.currentYMDHMS = sdf.format(t);
   return currentYMDHMS;
}
public Date getCurrentYMDHMSs() {
   Timestamp t = new Timestamp(Calendar.getInstance().getTimeInMillis());
   currentYMDHMSs = t;
   return currentYMDHMSs;
}

public String getNextMonth() {
   Calendar rightNow = Calendar.getInstance();
   if ((rightNow.get(Calendar.MONTH) + 1) == 12) {
    this.nextMonth = "01";
    this.nextYear = String.valueOf(rightNow.get(Calendar.YEAR) + 1);
    return nextMonth;
   }
   if (String.valueOf(rightNow.get(Calendar.MONTH) + 2).length() > 1) {
    this.nextMonth = String.valueOf(rightNow.get(Calendar.MONTH) + 2);
    return nextMonth;
   }
   this.nextMonth = "0" + String.valueOf(rightNow.get(Calendar.MONTH) + 2);
   return nextMonth;
}

public String getNextYear() {
   Calendar rightNow = Calendar.getInstance();
   if ((rightNow.get(Calendar.MONTH) + 1) == 12) {
    this.nextMonth = "01";
    this.nextYear = String.valueOf(rightNow.get(Calendar.YEAR) + 1);
    return nextYear;
   }
   this.nextYear = String.valueOf(rightNow.get(Calendar.YEAR));
   return nextYear;
}

public String getNextYMDHMS() {
   nextYear = getNextYear();
   nextMonth = getNextMonth();
   this.nextYMDHMS = nextYear + "-" + nextMonth + "-" + "01 00:00:00";
   return nextYMDHMS;
}

public String getCurrentMonth(int pcurrentMonth) {
   if (pcurrentMonth % 12 > 1 || (pcurrentMonth % 12 == 1)) {
    if (String.valueOf((pcurrentMonth % 12)).length() > 1) {
     this.currentMonth = String.valueOf((pcurrentMonth % 12));
    } else {
     this.currentMonth = "0" + String.valueOf((pcurrentMonth % 12));
     return currentMonth;
    }
   }
   if (String.valueOf(pcurrentMonth).length() > 1) {
    this.currentMonth = String.valueOf(pcurrentMonth);
   } else {
    this.currentMonth = "0" + String.valueOf(pcurrentMonth);
   }
   return currentMonth;
}

public String getCurrentYear(int pcurrentMonth, int pcurrentYear) {
   if (pcurrentMonth % 12 > 1 || (pcurrentMonth % 12 == 1)) {
    if (String.valueOf((pcurrentMonth % 12)).length() > 1) {
     this.currentMonth = String.valueOf((pcurrentMonth % 12));
    } else {
     this.currentMonth = "0" + String.valueOf((pcurrentMonth % 12));
    }
    this.currentYear = String
      .valueOf(pcurrentMonth / 12 + pcurrentYear);
    return currentYear;
   }
   return this.currentYear = String.valueOf(pcurrentYear);
}

public String getCurrentYMDHMS(int pcurrentMonth, int pcurrentYear) {
   if ((pcurrentMonth % 12 > 1) || (pcurrentMonth % 12 == 1)) {
    if (String.valueOf((pcurrentMonth % 12)).length() > 1) {
     this.currentMonth = String.valueOf((pcurrentMonth % 12));
    } else {
     this.currentMonth = "0" + String.valueOf((pcurrentMonth % 12));
    }
    this.currentYear = String
      .valueOf(pcurrentMonth / 12 + pcurrentYear);
    this.currentYMDHMS = currentYear + "-" + currentMonth + "-"
      + "01 00:00:00";
    return currentYMDHMS;
   }
   if (String.valueOf(pcurrentMonth).length() > 1) {
    this.currentMonth = String.valueOf(pcurrentMonth);
   } else {
    this.currentMonth = "0" + String.valueOf(pcurrentMonth);
   }
   this.currentYear = String.valueOf(pcurrentYear);
   this.currentYMDHMS = currentYear + "-" + currentMonth + "-"
     + "01 00:00:00";
   return currentYMDHMS;
}
public Date getCurrentYMDHMSs(int pcurrentMonth, int pcurrentYear) {
   if (pcurrentMonth % 12 > 1 || (pcurrentMonth % 12 == 1)) {
    if (String.valueOf((pcurrentMonth % 12)).length() > 1) {
     this.currentMonth = String.valueOf((pcurrentMonth % 12));
    } else {
     this.currentMonth = "0" + String.valueOf((pcurrentMonth % 12));
    }
    this.currentYear = String
      .valueOf(pcurrentMonth / 12 + pcurrentYear);
    this.currentYMDHMSs = Timestamp.valueOf(currentYear + "-"
      + currentMonth + "-" + "01 00:00:00.0");
    return currentYMDHMSs;
   }
   if (String.valueOf(pcurrentMonth).length() > 1) {
    this.currentMonth = String.valueOf(pcurrentMonth);
   } else {
    this.currentMonth = "0" + String.valueOf(pcurrentMonth);
   }
   this.currentYear = String.valueOf(pcurrentYear);
   this.currentYMDHMSs = Timestamp.valueOf(currentYear + "-"
     + currentMonth + "-" + "01 00:00:00.0");
   return currentYMDHMSs;
}

public String getNextYMDHMS(int pcurrentMonth, int pcurrentYear) {
   if ((pcurrentMonth % 12 > 1) || (pcurrentMonth % 12 == 1)) {
    if (String.valueOf((pcurrentMonth % 12)).length() > 1) {
     this.currentMonth = String.valueOf((pcurrentMonth % 12));
    } else {
     this.currentMonth = "0" + String.valueOf((pcurrentMonth % 12));
    }
    this.currentYear = String
      .valueOf(pcurrentMonth / 12 + pcurrentYear);
    if (String.valueOf(Integer.parseInt(currentMonth) + 1).length() > 1) {
     this.nextMonth = String
       .valueOf(Integer.parseInt(currentMonth) + 1);
    } else {
     this.nextMonth = "0"
       + String.valueOf(Integer.parseInt(currentMonth) + 1);
    }
    this.nextYear = currentYear;
    this.nextYMDHMS = nextYear + "-" + nextMonth + "-" + "01 00:00:00";
    return nextYMDHMS;
   }
   if (pcurrentMonth == 12) {
    this.nextMonth = "01";
    this.nextYear = String.valueOf(pcurrentYear + 1);
    this.nextYMDHMS = nextYear + "-" + nextMonth + "-" + "01 00:00:00";
    return nextYMDHMS;
   }
   if (String.valueOf(pcurrentMonth + 1).length() > 1) {
    this.nextMonth = String.valueOf(pcurrentMonth + 1);
    this.nextYear = String.valueOf(pcurrentYear);
    this.nextYMDHMS = nextYear + "-" + nextMonth + "-" + "01 00:00:00";
    return nextYMDHMS;
   }
   this.nextMonth = "0" + String.valueOf(pcurrentMonth + 1);
   this.nextYear = String.valueOf(pcurrentYear);
   this.nextYMDHMS = nextYear + "-" + nextMonth + "-" + "01 00:00:00";
   return nextYMDHMS;
}

public String getCurrentYM() {
   SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月");
   Timestamp t = new Timestamp(Calendar.getInstance().getTimeInMillis());
   this.currentYM = sdf.format(t);
   return currentYM;
}

public String getCurrentYM(int pcurrentMonth, int pcurrentYear) {
   if (pcurrentMonth % 12 > 1 || (pcurrentMonth % 12 == 1)) {
    if (String.valueOf(pcurrentMonth % 12).length() > 1) {
     this.currentMonth = String.valueOf((pcurrentMonth % 12));
    } else {
     this.currentMonth = "0" + String.valueOf((pcurrentMonth % 12));
    }
    this.currentYear = String
      .valueOf(pcurrentMonth / 12 + pcurrentYear);
    this.currentYM = currentYear + "年" + currentMonth + "月";
    return currentYM;
   }
   if (String.valueOf(pcurrentMonth).length() > 1) {
    this.currentMonth = String.valueOf(pcurrentMonth);
   } else {
    this.currentMonth = "0" + String.valueOf(pcurrentMonth);
   }
   this.currentYear = String.valueOf(pcurrentYear);
   this.currentYM = currentYear + "年" + currentMonth + "月";
   return currentYM;
}

}

文章出处:http://hi.baidu.com/DZˮ�����/blog/item/db323405a391a6007aec2cf8.html

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有