相关疑难解决方法(0)

Java:为什么不推荐使用Date构造函数,而是使用什么呢?

我来自C#世界,所以对Java还没有太多经验.Eclipse刚刚告诉他们Date已经弃用了.

Person p = new Person();
p.setDateOfBirth(new Date(1985, 1, 1));
Run Code Online (Sandbox Code Playgroud)

为什么?应该使用什么(特别是在上面的情况下)呢?

java date deprecated

194
推荐指数
9
解决办法
18万
查看次数

Java 8日期时间:从ZonedDateTime获取一天的开始

这些之间有什么区别:

zonedDateTime.truncatedTo(ChronoUnit.DAYS);

zonedDateTime.toLocalDate().atStartOfDay(zonedDateTime.getZone());
Run Code Online (Sandbox Code Playgroud)

有理由偏爱另一个吗?

谢谢

java datetime java-8 java-time

53
推荐指数
3
解决办法
4万
查看次数

给定LocalDate时如何获得当天的结束?

给定LocalDate时如何获得当天的结束?

我可以做到这一点

LocalDateTime.of(LocalDate.now(), LocalTime.of(23, 59, 59));
Run Code Online (Sandbox Code Playgroud)

但是在一天结束时是否有相同的'atStartOfDay'方法?

LocalDate.now().atStartOfDay();
LocalDate.now().atEndOfDay(); //doesn't work
Run Code Online (Sandbox Code Playgroud)

java java-time

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

Java相当于.NET DateTime.MinValue,DateTime.Today

Java Date类中是否存在Java等效的DateTime.MinValue和DateTime.Today?还是一种实现类似的方式?

我已经意识到你对.NET datetime类的破坏程度,我还需要相当于AddDays(),AddMonths().

java datetime date

16
推荐指数
1
解决办法
2万
查看次数

SQL Server中不期望的DateTime舍入

我碰到了一些奇怪的东西.DateTime当我将它们保存到datetime列时,SQL Server似乎不恰当地舍入了一些值.我怀疑我错过了什么,但我无法发现它.我正在使用.NET 4.0对SQL Server 2008运行此测试.以下内容应说明问题:

我在SQL Server中创建了一个名为Timestamps的表.它有两列:

id - bigint,Identity,PK
timestamp - datetime

我还创建了一个简单的测试,它执行以下操作:

  1. 获取当前时间,将值截断为毫秒精度
  2. 保存截断的时间 Timestamps
  3. 从DB中检索datetime`值,并将其与原始(截断的)DateTime对象进行比较.
public static void RoundTest()
{
    DateTime preTruncation = DateTime.UtcNow;
    DateTime truncated = preTruncation.TruncateToMilliseconds();

    using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["test"].ConnectionString))
    {
        conn.Open();
        SqlCommand cmd = new SqlCommand(@"INSERT INTO Timestamps(timestamp) 
                                            VALUES(@savedTime); 
                                            SELECT SCOPE_IDENTITY() AS id");
        cmd.Parameters.Add(new SqlParameter("savedTime", truncated));
        cmd.Connection = conn;
        var id = cmd.ExecuteScalar();

        SqlCommand get = new SqlCommand(@"SELECT timestamp FROM Timestamps 
                                            WHERE id = @id");

        get.Parameters.Add(new SqlParameter("id", id)); …
Run Code Online (Sandbox Code Playgroud)

sql-server datetime rounding

11
推荐指数
1
解决办法
6395
查看次数

将 ZonedDateTime 转换为一天结束

在这段代码中,

Instant i = Instant.ofEpochMilli(inputDate);
ZonedDateTime zonedDateTime = ZonedDateTime.ofInstant(instance, ZoneId.of(marketplaceIdToZoneMap.get(timeZone)));
Run Code Online (Sandbox Code Playgroud)

我只希望这个时区日期时间是一天的结束,

就像 zonedDateTime 的值是:2019-11-14 12:00:99

输出应为 2019-11-14 23:59:59

java timezone datetime zoneddatetime

4
推荐指数
2
解决办法
3017
查看次数