How to Custom Date Format in TSWA

本文介绍了解决Team System Web Access (TSWA) 中工作项自定义日期格式显示不正确的方法。通过手动格式化及定时刷新,确保了日期始终以预期格式展示。

As we know, once you set the Format and CustomFormat of DateTimeControla in WorkItemType like

<Control FieldName="FinishedDate" Type="DateTimeControl" Label="Finished Date:" LabelPosition="Left" Format="Custom" CustomFormat="yyyy-MM-dd" />

The value of Format could be

{
    Custom = 8,
    Long = 1,
    Short = 2,
    Time = 4
} When you choose Custom, the control will use the CustomFormat.

 

Team Explorer will display the date in correct format, but TSWA will not.The reason why TSWA still show as a long time is that it does not format the value of the textbox when page loaded, so we need to format it manually.

Furthermore, when you save the workitem, the page will perform a asynchronous postback. This cause the textbox display the date in long time format again. The best way is to subscribe the onSuccess event and format the value. But I did not find such an event to subscribe, so I format the value occasionally. The workaround is as below.

Add following code to the end of  C:\Program Files\Microsoft Visual Studio 2008 Team System Web Access\Web\UI\Controls\WorkItems\EditWorkItem.ascx

 

<script type="text/javascript">


    window.onload = init;

    function init() {
        var inputs = document.getElementsByTagName("input");
        for (var i = 0; i < inputs.length; i++) {
            var input = inputs[i];
            if (input.className == "DTPInput") {
                var d = eval("_" + input.id.replace("_txt", ""));
                d.init();

                var date = new Date(d.m_input.value);
                if (date > 0) {
                    d.m_input.value = DateUtility.format(new Date(d.m_input.value), d.m_config, d.m_config.Format);
                }

                setInterval("FormatDate('" + "_" + input.id.replace("_txt", "") + "')", 1000);
                
            }
        }
    }


    function FormatDate(id) {


        var d = eval(id);
        
        var date=new Date(d.m_input.value);
        if (date >0) {
            d.m_input.value = DateUtility.format(new Date(d.m_input.value), d.m_config, d.m_config.Format);
        }
    }

</script>

转载于:https://www.cnblogs.com/Ruiz/archive/2009/10/19/1586047.html

<think>好的,我需要解码用户提供的字符串kR53l4pXoztyd3wSe3kJc3dBpyQQpj8Qbm8Odm8Jcz4OpC5zcClzcCgPvg==。首先,我应该观察这个字符串的特征。它包含字母、数字以及末尾的等号,看起来像是Base64编码,因为Base64通常以=或==结尾来填充长度。 接下来,我尝试用Base64解码。假设原始字符串是Base64编码的二进制数据,可能需要进一步转换。但解码后的结果可能不是可读的文本,可能是二进制格式,比如图片、压缩文件或其他编码格式。 另外,也有可能这个字符串经过多层编码,比如先被其他方式编码(如URL编码、Hex编码),然后再用Base64编码。或者可能使用了加密算法,需要密钥才能解密。 用户没有提供上下文信息,所以需要进一步询问是否有额外的线索,例如编码方式、加密算法或密钥。但根据当前信息,只能尝试常见方法。 首先,我会用Base64解码该字符串。解码后的二进制数据可能需要用十六进制表示或检查文件头以确定类型。例如,如果解码后的数据以PNG或JPEG的文件头开头,则可能是图片文件。否则,可能需要其他处理步骤,如字符编码转换(如UTF-8、ASCII)或解密。 此外,检查字符串中的字符是否在Base64字符集内(A-Za-z0-9+/)。用户提供的字符串符合这个字符集,但包含小写字母,这可能正常,因为Base64区分大小写。 现在尝试解码: 解码后的字节可能无法直接显示为文本,因此需要将其转换为十六进制或检查文件类型。例如,使用Python的base64库解码: import base64 encoded_str = "kR53l4pXoztyd3wSe3kJc3dBpyQQpj8Qbm8Odm8Jcz4OpC5zcClzcCgPvg==" decoded_bytes = base64.b64decode(encoded_str) print(decoded_bytes.hex()) 如果输出是一串十六进制数,可以检查是否有已知的文件签名。例如,PNG文件以89 50 4E 47开头,PDF以25 50 44 46开头。如果没有匹配,可能需要考虑其他编码或加密方式。 如果用户知道该数据原本的类型(如文本、图片),可以进一步处理。否则,可能需要提示用户提供更多信息。 总结可能的步骤: 1. Base64解码得到二进制数据。 2. 检查二进制数据的格式(文件头、结构)。 3. 尝试转换为文本(如UTF-8、Latin-1)。 4. 如果失败,考虑是否加密或压缩(如zlib、gzip)。 5. 需要更多信息来确定后续步骤。</think>要解码给定的编码字符串$kR53l4pXoztyd3wSe3kJc3dBpyQQpj8Qbm8Odm8Jcz4OpC5zcClzcCgPvg==$,可按照以下步骤操作: 1. **识别编码类型** 该字符串包含大小写字母、数字及末尾的等号,符合Base64编码的特征。Base64常用于将二进制数据转换为ASCII字符,例如在电子邮件或URL中传输[^1]。 2. **执行Base64解码** 使用编程语言工具或在线解码器进行解码。以Python为例: ```python import base64 encoded_str = "kR53l4pXoztyd3wSe3kJc3dBpyQQpj8Qbm8Odm8Jcz4OpC5zcClzcCgPvg==" decoded_bytes = base64.b64decode(encoded_str) ``` 3. **分析解码结果** 解码后得到二进制数据: ``` b'\x91\x1ew\x97\x8aW\xa3;rg|\x12{y\tswA\xa7$\x10\xa6?\x10no\x0evo\ts>\x0e\xa4.sp)sp(\x0f\xbe' ``` 转换为十六进制为: `911e77978a57a33b72677c127b7909737741a72410a63f106e6f0e766f09733e0ea42e7370297370280fbe` 4. **检查数据格式** 上述十六进制数据未匹配常见文件类型(如图片的PNG/JPG头或PDF头),可能属于以下情况之一: - 加密后的数据(需密钥解密) - 自定义二进制协议 - 多层编码(如Base64后再进行Hex编码) 5. **进一步处理建议** - 若数据为文本,尝试不同字符编码(如UTF-8、Latin-1)转换: ```python print(decoded_bytes.decode('latin-1')) # 输出乱码,非纯文本 ``` - 检查是否为压缩数据(如zlib): ```python import zlib try: decompressed = zlib.decompress(decoded_bytes) print(decompressed) except zlib.error: print("非zlib压缩数据") ``` - 若涉及加密,需确认加密算法及密钥(如AES、DES)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值