我可以选择使用 JavaScript 或 c# 来完成此任务。
我有很多格式为“10/14/2012 8:45:34 PM”的字符串如何删除秒数并像“10/14/2012 8:45PM”一样保留 PM?
我不能使用子字符串,因为字符串的长度每天和时间都会不同。
我可以选择使用 JavaScript 或 c# 来完成此任务。
我有很多格式为“10/14/2012 8:45:34 PM”的字符串如何删除秒数并像“10/14/2012 8:45PM”一样保留 PM?
我不能使用子字符串,因为字符串的长度每天和时间都会不同。
在 C# 中,您可以这样做:
myTime.ToString("MM/dd/yyyy hh:mmtt");
或者,您可以使用此处Format Specifiers
描述的内置。
编辑-我删除了和之间的空格mm
,tt
因为我刚刚注意到您的帖子显示8:45PM
。如果需要,您可以在mm
和之间添加一个空格。tt
8:45 PM
如果字符串的格式一致,则:
var s = '10/14/2012 8:45:34 PM';
s = s.replace(/:\d+ (\w\w)$/, '$1'); // 10/14/2012 8:45PM
我希望这只会被非常有限的观众使用,因为这种格式会被绝大多数人误解。一种更广泛理解且不那么明确的格式是:
2012-10-14 8:45PM
您可以使用正则表达式。
C#:
string d = "10/14/2012 8:45:34 PM";
d = Regex.Replace(d, @":\d\d ", String.Empty);
Javascript:
var d = "10/14/2012 8:45:34 PM";
d = d.replace(/:\d\d /, '');
您可以使用正则表达式进行字符串操作,并且非常容易。
var mydate = "10/14/2012 8:45:34 PM";
var formated_date = mydate.replace(/(\d{1,2})\/(\d{1,2})\/(\d{4})\ (\d{1,2}):(\d{1,2}):(\d{1,2})\ (.*)/, "$1/$2/$3\ $4:$5$7");
document.write(formated_date);
好吧,你可以试试:
var string="10/14/2012 8:45:34 PM";
var resultArray = string.split(":");
var result = string.replace(resultArray[2],"");
这应该在javascript中有效地工作。一秒钟后我会测试它,然后更新它。
更新:
var string="10/14/2012 8:45:34 PM";
var resultArray = string.split(":");
var result = string.replace(":"+resultArray[2]," ")+resultArray[2].split(" ")[1];
有点恶心。但它工作得很好:http: //jsfiddle.net/x8uUW/
使用正则表达式更新(我使用了正则表达式生成器,因此无论如何它都不像它可能的那样紧凑。但它确实有效:http: //jsfiddle.net/x8uUW/1/
I tried using ToString()
in Axure JavaScript for setting text of widgets, but failed, and regex in Axure is out of the question (at least, at the time I posted this), so I had figured out another simple alternative, but inefficient method of doing it:
aDate.toLocaleTimeString().replace(':'+aDate.getSeconds(),'')