[deepin exploration] ACE-Bookwormh环境下的Chrome时区不对,咋办!
Tofloor
poster avatar
观摩
deepin
2024-07-07 17:47
Author

有一台UOS Home版,因为官方已经放弃,不再更新,

目前已经无法使用最新版的Chrome,启动后不显示主界面或者白板,采用之前的方法禁用Qt也不行。

这两天看到了ACE-Bookworm,安装之后,再安装最新版Chrome,使用没问题,但是*的时间不正确。

new Date,显示GMT-0500 (北美中部夏令时间)

但是在命令行bookworm-run,后 date,显示的时区是北京时间

时区不匹配,Chrome中也没有办法调整时区

有没有什么办法?

2024-07-07_17-46.png

Reply Favorite View the author
All Replies
ThinkYoung
deepin
2024-07-07 18:14
#1

要么在ace里面把locale改为上海

要么在 chrome里面有个sensor 改location 为上海

要么代码用moment.js 设置好时区 不要用浏览器默认时区

    "cdn":  "http://cdn.staticfile.org/moment-timezone/0.5.25/moment-timezone-with-data.js",
    "url": "https://gitee.com/mirrors/moment-timezone.git",
Reply View the author
神末shenmo
deepin
Spark-App
2024-07-07 18:54
#2

时区这个好像一直有点问题,这个我不太知道怎么修,有没有友友知道怎么改?


直接在ACE里面改时区就行

Reply View the author
辉辉
deepin
2024-07-07 18:58
#3

最简单的方法就是把系统时区北京改成上海,我这么说会不会被喷?

其实你用edge一样会出现这个问题,系统自带的浏览器没事。

Reply View the author
raspbian
deepin
2024-07-07 19:41
#4

很简单的一个问题 官方不解决 脑残粉跟着和稀泥

https://bbs.deepin.org/zh/post/268709

Reply View the author
观摩
deepin
2024-07-07 22:10
#5
神末shenmo

时区这个好像一直有点问题,这个我不太知道怎么修,有没有友友知道怎么改?


直接在ACE里面改时区就行

进入ACE,date命令输出的时间是正确的。

查看/etc/timezone,显示的不是Shanghai,具体是啥我忘记了,直接修改/etc/timezone,内容设置为 Asia/Shanghai,再启动Chrome,时区还是 GMT-0500 (北美中部夏令时间)

Reply View the author
观摩
deepin
2024-07-07 22:11
#6
ThinkYoung

要么在ace里面把locale改为上海

要么在 chrome里面有个sensor 改location 为上海

要么代码用moment.js 设置好时区 不要用浏览器默认时区

    "cdn":  "http://cdn.staticfile.org/moment-timezone/0.5.25/moment-timezone-with-data.js",
    "url": "https://gitee.com/mirrors/moment-timezone.git",

chrome里面有个sensor 改location 为上海

这个修改后,好像不能一直生效,重启Chrome,就不管用了,不知道为啥

Reply View the author
观摩
deepin
2024-07-07 22:11
#7
辉辉

最简单的方法就是把系统时区北京改成上海,我这么说会不会被喷?

其实你用edge一样会出现这个问题,系统自带的浏览器没事。

你说的跟这个不是一个问题

Reply View the author
观摩
deepin
2024-07-07 22:23
#8
It has been deleted!
观摩
deepin
2024-07-07 22:26
#9
ThinkYoung

要么在ace里面把locale改为上海

要么在 chrome里面有个sensor 改location 为上海

要么代码用moment.js 设置好时区 不要用浏览器默认时区

    "cdn":  "http://cdn.staticfile.org/moment-timezone/0.5.25/moment-timezone-with-data.js",
    "url": "https://gitee.com/mirrors/moment-timezone.git",

要么代码用moment.js 设置好时区 不要用浏览器默认时区

没用过这个,他能直接影响new Date() 的时间吗

Reply View the author
ThinkYoung
deepin
2024-07-07 22:51
#10
观摩

要么代码用moment.js 设置好时区 不要用浏览器默认时区

没用过这个,他能直接影响new Date() 的时间吗

这个bug就是因为new date()不能设置时区

不是影响date 而是date 用moment生成 我个人主页用过这个 因为总用arm板 总遇到时区切换问题 比较烦

就一直用过这个js插件 直接上代码吧 比较low 不要笑哈


  
    
        
        
        
        
        *type="tex*" src="/PKG/npm/moment/dist/moment-with-locales.min.js">
        *type="tex*" src="/PKG/npm/moment-timezone/dist/moment-timezone-with-data.min.js">
        
    
  
    
        
:
*type="tex*"> var in_1 = document.getElementById('deskdate'); function showTime() { //解决浏览器时区问题 moment.locale("zh-cn", { weekdays: '周日_周一_周二_周三_周四_周五_周六'.split('_') }); var da_te = moment().tz('Asia/Shanghai'); var date = da_te.format('YYYY/MM/DD'); var time = da_te.format('HH:mm:ss'); var hh = da_te.format('HH'); var mm = da_te.format('mm'); var weekday = da_te.format('dddd'); var mytime_hh = document.getElementById('mytime-hh'); var mytime_mm = document.getElementById('mytime-mm'); var mytime_date = document.getElementById('mytime-date'); var mytime_weekday = document.getElementById('mytime-weekday'); mytime_hh.innerHTML = hh; mytime_mm.innerHTML = mm; mytime_date.innerHTML = date; mytime_weekday.innerHTML = weekday; /* var date = new Date(); var week = date.getDay(); var weekday; switch(week){ case 0: weekday = '星期天';break; case 1: weekday = '星期一';break; case 2: weekday = '星期二';break; case 3: weekday = '星期三';break; case 4: weekday = '星期四';break; case 5: weekday = '星期五';break; case 6: weekday = '星期六';break; } var year = date.getFullYear(); var month = date.getMonth() + 1; var day = date.getDate(); var hour = date.getHours(); hour=hour>9?hour:"0"+hour; //如果分钟小于10,则在前面加0补充为两位数字 var minute = date.getMinutes(); minute=minute>9?minute:"0"+minute; var second = date.getSeconds(); second=second>9?second:"0"+second; var in_1 = document.getElementById('deskdate'); in_1.innerHTML = hour + ':' + minute + ':' + second+' ' + weekday +"
"+year + '年' + month + "月" + day + '日';*/ setTimeout(showTime, 30000); } showTime();
Reply View the author
观摩
deepin
2024-07-08 08:53
#11
ThinkYoung

这个bug就是因为new date()不能设置时区

不是影响date 而是date 用moment生成 我个人主页用过这个 因为总用arm板 总遇到时区切换问题 比较烦

就一直用过这个js插件 直接上代码吧 比较low 不要笑哈


  
    
        
        
        
        
        *type="tex*" src="/PKG/npm/moment/dist/moment-with-locales.min.js">
        *type="tex*" src="/PKG/npm/moment-timezone/dist/moment-timezone-with-data.min.js">
        
    
  
    
        
:
*type="tex*"> var in_1 = document.getElementById('deskdate'); function showTime() { //解决浏览器时区问题 moment.locale("zh-cn", { weekdays: '周日_周一_周二_周三_周四_周五_周六'.split('_') }); var da_te = moment().tz('Asia/Shanghai'); var date = da_te.format('YYYY/MM/DD'); var time = da_te.format('HH:mm:ss'); var hh = da_te.format('HH'); var mm = da_te.format('mm'); var weekday = da_te.format('dddd'); var mytime_hh = document.getElementById('mytime-hh'); var mytime_mm = document.getElementById('mytime-mm'); var mytime_date = document.getElementById('mytime-date'); var mytime_weekday = document.getElementById('mytime-weekday'); mytime_hh.innerHTML = hh; mytime_mm.innerHTML = mm; mytime_date.innerHTML = date; mytime_weekday.innerHTML = weekday; /* var date = new Date(); var week = date.getDay(); var weekday; switch(week){ case 0: weekday = '星期天';break; case 1: weekday = '星期一';break; case 2: weekday = '星期二';break; case 3: weekday = '星期三';break; case 4: weekday = '星期四';break; case 5: weekday = '星期五';break; case 6: weekday = '星期六';break; } var year = date.getFullYear(); var month = date.getMonth() + 1; var day = date.getDate(); var hour = date.getHours(); hour=hour>9?hour:"0"+hour; //如果分钟小于10,则在前面加0补充为两位数字 var minute = date.getMinutes(); minute=minute>9?minute:"0"+minute; var second = date.getSeconds(); second=second>9?second:"0"+second; var in_1 = document.getElementById('deskdate'); in_1.innerHTML = hour + ':' + minute + ':' + second+' ' + weekday +"
"+year + '年' + month + "月" + day + '日';*/ setTimeout(showTime, 30000); } showTime();

你这个方法不能普遍适用啊,只适合自己的板子自己的web应用。

毕竟这是用在电脑的浏览器上,针对的主要是第三方web

Reply View the author
ThinkYoung
deepin
2024-07-08 09:44
#12
观摩

你这个方法不能普遍适用啊,只适合自己的板子自己的web应用。

毕竟这是用在电脑的浏览器上,针对的主要是第三方web

我最开始不是说了嘛 改ace 改浏览器

你都改不了的情况 就改自己代码嘛

Reply View the author
观摩
deepin
2024-07-08 10:06
#13
ThinkYoung

我最开始不是说了嘛 改ace 改浏览器

你都改不了的情况 就改自己代码嘛

放弃了,回退到Chrome 124。就是一直提示需要更新比较烦人。

改ACE显然没这个能力,

改Chrome的Sensors,他不能持久,再启动就不起作用了。

Reply View the author