相关疑难解决方法(0)

为什么减去这两次(在1927年)给出一个奇怪的结果?

如果我运行以下程序,它解析引用时间间隔为1秒的两个日期字符串并比较它们:

public static void main(String[] args) throws ParseException {
    SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
    String str3 = "1927-12-31 23:54:07";  
    String str4 = "1927-12-31 23:54:08";  
    Date sDt3 = sf.parse(str3);  
    Date sDt4 = sf.parse(str4);  
    long ld3 = sDt3.getTime() /1000;  
    long ld4 = sDt4.getTime() /1000;
    System.out.println(ld4-ld3);
}
Run Code Online (Sandbox Code Playgroud)

输出是:

353

为什么ld4-ld31(正如我所期望的那样,在时间上只有一秒钟的差异),但是353

如果我将日期更改为1秒后的时间:

String str3 = "1927-12-31 23:54:08";  
String str4 = "1927-12-31 23:54:09";  
Run Code Online (Sandbox Code Playgroud)

然后ld4-ld31.


Java版本:

java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04) …
Run Code Online (Sandbox Code Playgroud)

java timezone date

6628
推荐指数
9
解决办法
63万
查看次数

如何生成"人类可读"的字符串来表示TimeSpan

我有一个TimeSpan代表客户端连接到我的服务器的时间.我想将其显示TimeSpan给用户.但我不想过于冗长地显示那些信息(例如:2小时3分钟32.2345秒=太详细了!)

例如:如果连接时间是......

> 0 seconds and < 1 minute   ----->  0 Seconds
> 1 minute  and < 1 hour     ----->  0 Minutes, 0 Seconds
> 1 hour    and < 1 day      ----->  0 Hours, 0 Minutes
> 1 day                      ----->  0 Days, 0 Hours
Run Code Online (Sandbox Code Playgroud)

当然,在数字为1(例如:1秒,1分钟,1小时,1天)的情况下,我想使文本单数(例如:1秒,1分钟,1小时,1天) .

无论如何,如果没有一组巨大的if/else子句,可以轻松实现吗?这是我目前正在做的事情.

public string GetReadableTimeSpan(TimeSpan value)
{
    string duration;

    if (value.TotalMinutes < 1)
        duration = value.Seconds + " Seconds";
    else if (value.TotalHours < 1)
        duration = value.Minutes + " Minutes, " …
Run Code Online (Sandbox Code Playgroud)

.net c# timespan string-formatting

17
推荐指数
5
解决办法
9716
查看次数

如何将天数转换为年,月和日

如果我有两个约会,那么我会在几天内得到它们之间的区别像这篇文章.


如何在以下视图中详细说明:

将日期转换为(number of years,number of months and the rest in the number of days)

.net c# asp.net datetime date

-3
推荐指数
2
解决办法
5万
查看次数

标签 统计

.net ×2

c# ×2

date ×2

asp.net ×1

datetime ×1

java ×1

string-formatting ×1

timespan ×1

timezone ×1