<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    從心開始

     

    系統(tǒng)時(shí)間修改方法

    java 修改系統(tǒng)時(shí)間方法

    第一種方法:

    需下載 jna.jar???????????????????????????

    a) 創(chuàng)建 Kernel32 接口

    package ?time.test;

    import ?com.sun.jna.Native;
    import ?com.sun.jna.Structure;
    import ?com.sun.jna.win32.StdCallLibrary;

    public ? interface ?Kernel32? extends ?StdCallLibrary
    {
    ????Kernel32?INSTANCE?
    = ?(Kernel32)Native.loadLibrary( " kernel32 " ,?Kernel32. class );
    ????
    public ?SYSTEMTIME?GetSystemTime();

    ????
    public ? void ?SetLocalTime(SYSTEMTIME?localTime);

    ????
    public ? static ? class ?SYSTEMTIME? extends ?Structure
    ????
    {
    ????
    // 必須有這么多個(gè)字段,按這個(gè)順序定義屬性
    ?
    ???????? public ? short ?wYear;
    ????????
    public ? short ?wMonth;
    ?????????????public?short?wDayOfWeek;
    ????????
    public ? short ?wDay;
    ????????
    public ? short ?wHour;
    ????????
    public ? short ?wMinute;
    ????????
    public ? short ?wSecond;
    ????????
    public ? short ?wMilliseconds;
    ???????
    ????}

    }

    b) 修改時(shí)間

    ?

    import ?time.test.Kernel32.SYSTEMTIME;


    public ? class ?SysTimeSettingDaoImp
    {
    ????
    protected ? void ?setLocalTime(String?time)
    ????
    {
    ??????
    // time時(shí)間格式是14位的字符串,如"20080108152130"
    ????????Short?year? = ?Short.parseShort(time.substring( 0 ,? 4 ));
    ????????Short?month?
    = ?Short.parseShort(time.substring( 4 ,? 6 ));
    ????????Short?day?
    = ?Short.parseShort(time.substring( 6 ,? 8 ));
    ????????Short?hour?
    = ?Short.parseShort(time.substring( 8 ,? 10 ));
    ????????Short?minute?
    = ?Short.parseShort(time.substring( 10 ,? 12 ));
    ????????Short?second?
    = ?Short.parseShort(time.substring( 12 ,? 14 ));

    ????????SYSTEMTIME?ss?
    = ? new ?SYSTEMTIME();
    ????????ss.setWYear(year);
    ????????ss.setWMonth(month);
    ????????ss.setWDay(day);
    ????????ss.setWHour(hour);
    ????????ss.setWMinute(minute);
    ????????ss.setWSecond(second);

    ????????Kernel32?lib?
    = ?Kernel32.INSTANCE;
    ????????lib.SetLocalTime(ss);
    ????}

    }

    第二種方法

    ?

    public ? class ?MyTimeClass
    {
    ????????????
    // timeAndDate格式位14位的字符串表示形式。
    ???????????? public ? void ?setLocalTime(String?timeAndDate)
    ????????????
    {
    ????????????????????????????String?date?
    = ?getDate(timeAndDate);
    ????????????????????????????String?time?
    = ?getTime(timeAndDate);
    ????????????
    ????????????????????????????
    // ?修改系統(tǒng)日期和時(shí)間
    ????????????????????????????Runtime.getRuntime().exec( " cmd?/c?date? " ? + ?date);
    ????????????????????????????Runtime.getRuntime().exec(
    " cmd?/c?time? " ? + ?time);
    ????????????}

    ????????????
    public ?String?getDate(String?timeAndDate)
    ????????????
    {
    ????????????????????String?year?
    = ?timeAndDate.substring( 0 ,? 4 );
    ????????????????????String?month?
    = ?timeAndDate.substring( 4 ,? 6 );
    ????????????????????String?day?
    = ?timeAndDate.substring( 6 ,? 8 );
    ????????????????????
    return ?year? + ? " - " ? + ?month? + ? " - " ? + ?day;
    ????????????}

    ????????????
    public ?String?getTime(String?timeAndDate)
    ????????????
    {
    ????????????????????String?hour?
    = ?timeAndDate.substring( 8 ,? 10 );
    ????????????????????String?minute?
    = ?timeAndDate.substring( 10 ,? 12 );
    ????????????????????String?second?
    = ?timeAndDate.substring( 12 ,? 14 );
    ????????????????????
    return ?hour? + ? " : " ? + ?minute? + ? " : " ? + ?second;
    ????????????}

    }

    Linux系統(tǒng)修改時(shí)間

    ??String?os? = ?System.getProperty( " os.name " ).toLowerCase(); // 獲取操作系統(tǒng)名稱

    if (os.indexOf( " windows " )? != ? - 1 )
    {
    ????cmd?
    = ? " cmd?/c?time? " ? + ?timeStr;
    ????ProcessUtil.printErr(Runtime.getRuntime().exec(cmd));
    ????cmd?
    = ? " cmd?/c?date? " ? + ?timeStr;
    ????ProcessUtil.printErr(Runtime.getRuntime().exec(cmd));
    ???}

    ???
    else
    ???
    {??
    ????cmd?
    = ? " date? " ? + ?timeStr; //timeStr時(shí)間到分,先寫時(shí)間再寫日期
    ????ProcessUtil.printErr(Runtime.getRuntime().exec(cmd));
    ???}


    public class ProcessUtil {
    ???
    ??? public static void printErr(Process p) {
    ??????? BufferedReader br = null;
    ??????? try {
    ??????????? br = new BufferedReader(new InputStreamReader(p.getErrorStream()));
    ??????????? String line = null;
    ??????????? while ((line = br.readLine()) != null) {
    ??????????????? System.out.println(line);
    ??????????? }
    ??????? } catch (Exception e) {
    ??????????? e.printStackTrace();
    ??????? } finally {
    ??????????? try {
    ??????????????? if (br != null)
    ??????????????????? br.close();
    ??????????? } catch (Exception e) {
    ??????????????? e.printStackTrace();
    ??????????? }
    ??????????? p.destroy();
    ??????? }
    ??? }
    ???
    ??? public static void printConsole(Process p) {
    ??????? BufferedReader br = null;
    ??????? try {
    ??????????? br = new BufferedReader(new InputStreamReader(p.getInputStream()));
    ??????????? String line = null;
    ??????????? while ((line = br.readLine()) != null) {
    ??????????????? System.out.println(line);
    ??????????? }
    ??????? } catch (Exception e) {
    ??????????? e.printStackTrace();
    ??????? } finally {
    ??????????? try {
    ??????????????? if (br != null)
    ??????????????????? br.close();
    ??????????? } catch (Exception e) {
    ??????????????? e.printStackTrace();
    ??????????? }
    ??????? }
    ??? }
    ???
    ??? public static String getErrInfo(Process p) {
    ??????? StringBuffer sb = new StringBuffer();
    ??????? BufferedReader br = null;
    ??????? try {
    ??????????? br = new BufferedReader(new InputStreamReader(p.getErrorStream()));
    ??????????? String line = null;
    ??????????? while ((line = br.readLine()) != null) {
    ??????????????? sb.append(line).append("\n");
    ??????????? }
    ??????????? return sb.toString();
    ??????? } catch (Exception e) {
    ??????????? e.printStackTrace();
    ??????? } finally {
    ??????????? try {
    ??????????????? if (br != null)
    ??????????????????? br.close();
    ??????????? } catch (Exception e) {
    ??????????????? e.printStackTrace();
    ??????????? }
    ??????? }
    ??????? return null;
    ??? }

    }


    ?

    posted on 2008-01-08 23:47 飄雪 閱讀(1951) 評(píng)論(1)  編輯  收藏 所屬分類: JAVA技術(shù)

    評(píng)論

    # re: 系統(tǒng)時(shí)間修改方法 2008-09-19 09:33 jone

    good
      回復(fù)  更多評(píng)論   

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(1)

    隨筆分類(11)

    隨筆檔案(13)

    收藏夾

    firends

    搜索

    最新評(píng)論

    • 1.?re: udp及tcp穿越NAT
    • 您上述提到的是互聯(lián)網(wǎng)之間的公網(wǎng)與私網(wǎng)之間的NAT穿越,3g終端可以通過這種方式實(shí)現(xiàn)嗎?還有3g移動(dòng)設(shè)備的IP是動(dòng)態(tài)分配的,我怎么才能在公網(wǎng)服務(wù)器找到這個(gè)3G終端?
    • --svurm
    • 2.?re: udp及tcp穿越NAT
    • TCP穿越針對(duì)的是公網(wǎng)IP,而這個(gè)公網(wǎng)ip進(jìn)過幾個(gè)NAT,多少層映射到局域網(wǎng)客戶端上對(duì)大洞無影響,因?yàn)檫@些映射是nat完成的,一層,二層,三層,最終都映射到公網(wǎng)ip上,所以幾層NAT對(duì)打洞并無影響。
    • --lch
    • 3.?re: udp及tcp穿越NAT
    • 您好,感謝您提供的好介紹。請(qǐng)問:如果P2P的兩點(diǎn)之間,存在3-4個(gè)NAT,P2P也可以通起來嗎?從您對(duì)NAT的理解,如果通信兩端之間存在4個(gè)NAT,對(duì)那些應(yīng)用有影響?
    • --xujf
    • 4.?re: 系統(tǒng)時(shí)間修改方法
    • good
    • --jone
    • 5.?re: udp及tcp穿越NAT
    • 評(píng)論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
    • --...

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲男人的天堂在线| 亚洲精品午夜无码电影网| 亚洲高清无在码在线电影不卡| 国产精品美女免费视频观看| 亚洲熟女乱综合一区二区| 色婷婷综合缴情综免费观看| 伊人亚洲综合青草青草久热| 精品乱子伦一区二区三区高清免费播放 | 亚洲国产天堂久久久久久| 特黄特色大片免费| 亚洲人成色7777在线观看不卡| 一级做a爱过程免费视| 亚洲热线99精品视频| 无码一区二区三区免费| 亚洲激情视频网站| 黄网址在线永久免费观看| 婷婷国产偷v国产偷v亚洲| 国产乱辈通伦影片在线播放亚洲 | 亚洲国产成人精品激情| 在线观看91精品国产不卡免费| 羞羞网站免费观看| 亚洲AV综合色区无码另类小说| 午夜网站在线观看免费完整高清观看| 亚洲综合男人的天堂色婷婷| 67194成是人免费无码| 狼人大香伊蕉国产WWW亚洲| 狠狠色伊人亚洲综合成人| 久久经典免费视频| 日韩国产欧美亚洲v片| 亚洲人成网站在线观看播放| 91网站免费观看| 免费人成再在线观看网站| 亚洲av色福利天堂| 免费激情视频网站| 曰批全过程免费视频在线观看无码| 亚洲成AV人综合在线观看 | 日本特黄特色免费大片| 99re6在线精品免费观看| 亚洲娇小性xxxx| 国产精品亚洲αv天堂无码 | 免费看AV毛片一区二区三区|