我有一个服务器在一个时区存储时间戳,而用户存在另一个时区。我的印象是gem充当了 装饰器 ,如果我定义了时区
var date = moment(timestamp_from_server).calendar()
然后随后使用时刻函数将使用时区定义
app.run(function(...) {
...
moment.tz.setDefault("Europe/Copenhagen")
})
在我的情况下,为所有时间戳添加一小时。但显然这不起作用。
是否可以设置"全球"或应用程序范围的时区,所以我不必转换代码中的每个时间戳,只能依赖momentjs方法?任何建议,也是备选方案,我们非常感谢。
注意:我正在使用AngularJS,在
中设置时区import binascii
from Crypto.Cipher import AES
from Crypto import Random
def encrypt(passwrd, message):
msglist = []
key = bytes(passwrd, "utf-8")
iv = Random.new().read(AES.block_size)
cipher = AES.new(key, AES.MODE_CFB, iv)
msg = iv + cipher.encrypt(bytes(message, "utf-8"))
msg = binascii.hexlify(msg)
for letter in str(msg):
msglist.append(letter)
msglist.remove("b")
msglist.remove("'")
msglist.remove("'")
for letter in msglist:
print(letter, end="")
print("")
def decrypt(passwrd, message):
msglist = []
key = bytes(passwrd, "utf-8")
iv = Random.new().read(AES.block_size)
cipher = AES.new(key, AES.MODE_CFB, iv)
msg = cipher.decrypt(binascii.unhexlify(bytes(message, "utf-8")))[len(iv):]
for letter in str(msg):
msglist.append(letter)
msglist.remove("b")
msglist.remove("'")
msglist.remove("'")
for letter in msglist:
print(letter, end="")
print("")
但我认为没有任何重要性。
答案 0 :(得分:1)
您可以使用angular moment
实现此目的如果您不想使用此模块
根据评论更新:
如果从头开始新项目,可能更容易使用angular moment
另外,decorator
或app.run
或setting in service
本身就是非常大的。但是在现有项目中应用时区时,请确保时区中的更改不会影响使用momentjs的现有日期函数
使用工厂
设置默认时区的简单实现由于工厂是单件,因此只会创建一个