toLocaleTimeString
должен предоставить время в формате, который отражает предпочтения пользователя, но он ненадежен.
Я нахожусь в системе Debian. Выход locale
:
LANG=en_US.utf8
LANGUAGE=
LC_CTYPE="en_US.utf8"
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=
Вот несколько экспериментов с date
:
$ date +%X
05:23:32 PM
$ LANG=en_GB date +%X
17:24:06
$ LC_TIME=en_GB date +%X
17:24:22
Формат %X
сообщает date
, чтобы вывести время согласно языку. Результаты, приведенные выше, точно так же, как ожидалось. Установка LC_TIME
- это способ изменить только формат времени, но сохранить целостность всего остального в локали. Поэтому кто-то из США может использовать формат 24h, даже если по умолчанию для en_US
равно 12.
Я пробовал скрипт Mouser в моей системе:
$ firefox --no-remote
[Shows a time in the 12 hour format, as expected.]
$ LANG=en_GB firefox --no-remote
[Shows a time in the 24 hour format, as expected.]
Пока все хорошо. Однако,
$ LC_TIME=en_GB firefox --no-remote
[Shows a time in the 12 hour format, this is wrong!]
Я получаю те же результаты с Chrome. Кажется, что Firefox и Chrome игнорируют LC_TIME
.
Итак, я закончил с этим кодом. Я знаю, что это не самый элегантный, поэтому любые улучшения / предложения более чем приветствуются!
Sub fillShape (myShape As Shape)
Dim theAnswer As String
theAnswer = myShape.Name
Dim heroName As String
MsgBox "the name is " & theAnswer
If theAnswer = "Name1" Then
ActivePresentation.Slides(3).Shapes(8).Fill.UserPicture ("C:\path\Name1.png")
ElseIf theAnwer = "Name2" Then
ActivePresentation.Slides(3).Shapes(8).Fill.UserPicture ("C:\path\Name2.png")
ElseIf theAnwer = "Name3" Then
ActivePresentation.Slides(3).Shapes(8).Fill.UserPicture ("C:\path\Name3.png")
Else
MsgBox "something went wrong "
End If
ActivePresentation.SlideShowWindow.View.Next
End Sub