本站首页    管理页面    写新日志    退出


«September 2025»
123456
78910111213
14151617181920
21222324252627
282930


公告

戒除浮躁,读好书,交益友


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:邢红瑞的blog
日志总数:523
评论数量:1142
留言数量:0
访问次数:9704836
建立时间:2004年12月20日




[jvm]java如何设置系统时间
原创空间,  软件技术,  电脑与网络

邢红瑞 发表于 2006/6/14 15:52:48

java语言无法设置系统时间,一般是使用jni或者使用shell处理,感觉比较麻烦,想起Sun JNI team的Sheng Liang 开发的Java Native Access (JNA)可以做到这些。大家可以从https://jna.dev.java.net/下载jna.jar,然后把它放入到工程的classpath中,package test; import com.sun.jna.*;import com.sun.jna.win32.StdCallLibrary; //  kernel32.dll uses the __stdcall calling convention//  Most C libraries will just extend com.sun.jna.Librarypublic interface Kernel32 extends StdCallLibrary {  Kernel32 INSTANCE = (Kernel32) Native.loadLibrary("kernel32",   Kernel32.class);  public static class SYSTEMTIME extends Structure {  public short wYear;   public short wMonth;   public short wDayOfWeek;   public short wDay;   public short wHour;   public short wMinute;   public short wSecond;   public short wMilliseconds; }  void GetSystemTime(SYSTEMTIME result); void SetSystemTime(SYSTEMTIME result);}package test; import test.Kernel32.SYSTEMTIME; public class SetTime {  public static void main(String args[]) {  Kernel32 lib = Kernel32.INSTANCE;  SYSTEMTIME time = new SYSTEMTIME();  lib.GetSystemTime(time);  time.wYear=2007;  lib.SetSystemTime(time);  System.out.println("Today's integer value is " + time.wDay);  }}其实应该为SetLocalTime这样没有时差问题。


阅读全文(7996) | 回复(2) | 编辑 | 精华
 


回复:java如何设置系统时间
原创空间,  软件技术,  电脑与网络

ace(游客)发表评论于2010/1/21 10:36:21

但实际上在vista中调用SetSystemTime之后,系统时间并未设置成预期的值,不知道作者是否成功尝试过?


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.047 second(s), page refreshed 144783961 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号