|
回复 3楼 donghan 的帖子
时间分隔符、日期分隔符确实和系统设置有关,不过似乎不影响text函数吧,这里会严格按照指定的数字格式显示。除通用格式外,能想到的,也就是长日期格式代码“[$-F800]”还有时间格式代码“[$-F400]”是与系统设置密切相关。其他还有什么明显的例子么?
e,与语言设定有关的,并不是必然等于yyyy,所以不确定打开文件的Excel环境的话,最好不要用e代替yyyy。
没有提到g,这个是年号,在简体中文版中没有相关内容可用来显示,给个例子“[$-411]ggge”,这个格式可以显示日本年号纪年,比如1991年的日期会显示成“平成3”,两个g就用年号的简写,一个g使用一个英文字母表示年号
(上面的例子在我的系统中可以实现,具体需要哪些要求,是否会失效不太清楚)
还有aaa和aaaa,这就是本地化的ddd和dddd,当指定了区域语言后,就和d没区别了
关于b,这个大小写无关,除了佛历外,B1和B2也是有特殊含义的,他们本身不显示任何东西,但是控制后面的y,m,d等所采用的日历,B1是Gregorian历,也就是现行的公历,忽略区域语言设置,B2是一种回历(伊斯兰历法)
关于千位分隔符,这个要写在小数点左边的0或#之间,写在小数点之前或者写在末尾,都表示除以1000的意思,国际单位制的词头大多是1000倍一个,此项功能用于更改单位。写在数字最前面,就直接显示“,”,写在小数点后但不是结尾,则忽略,至少我现在手中的Office2003sp3和2007都是如此,以前好像也有版本写在小数点后的0或#间也表示千位分隔符。
!未必就相当于\,好像和语言版本有关,尽量用\
@和&解释错误,用了VBA中的FORMAT函数的说明。在这里,@就表示原来的整个文本串,写在哪里,就是把原先的文本串显示在哪里,&没有特殊作用
科学记数只能用大写的“E+"、“E-”,小写不行,估计是M$增加了"e"的含义后,忘了改帮助文件
G/通用格式 ,这个表达方式与语言版本有关,尽量不用。
[DBnum1]~[DBnum4]应该是与系统有关的四套数字表示,这里的说明应该都是针对简体中文版的。
下面的列表也未必对或者全面,忘了出处了(测试也不方便,也需要有相应的系统才行):
DBnum1:
Chinese: Chinese lower case characters;
Japanese: short Kanji characters;
Korean: Korean lower case characters ;
DBnum2:
Chinese: Chinese upper case characters;
Japanese: traditional Kanji text;
Korean: Korean upper case characters;
DBnum3:
fullwidth Arabic digits
DBnum4:
Korean: formal Hangul text
关于区域代码,曾在微软网站上查到过相关说明,这里简述代码的结构
比如[$-24030412]
24是数字格式代码, 03是日历类型代码,最后四位是LCID(区域及语言代码)
可见日历是比较乱的,早期版本只有y,m,d,后来逐渐考虑各地不同,97版开始用unicode,应该在那之后才考虑的这些,B1,B2什么的,应该是较早时候定下的方案,DBnum1~Dbnum4估计也是,用[$-xxxxxxxx]形式则是最新的统一方案。(数字格式代码里面,1B~1D是日语1~3,1E~20表示简体中文1~3,21~23是繁体中文1~3,24~27是朝鲜语1~4,这些应该就是以前的DBnum1~DBnum4,DBnum4应该主要用于韩语版本,在我们这里无效,不过[$-27xxxxxx]有效)
[ 本帖最后由 子元女王 于 2010-3-9 16:04 编辑 ] |
|