[swift-corelibs-dev] NSDate, NSDateFormatter

Joseph Bell joe at iachieved.it
Fri Dec 11 12:53:52 CST 2015


Thanks Tony, with LD_LIBRARY_PATH set to include usr/lib/swift/linux I can
get the REPL to reproduce what I see with the compiler, and that's a blank
line printed out:

➜  dates
 LD_LIBRARY_PATH=/opt/apple/swift-2.2-SNAPSHOT-2015-12-01-b-ubuntu14.04/usr/lib/swift/linux:$LD_LIBRARY_PATH
swift printdate.swift

➜  dates

Which leads me to the obvious question, either I've forgotten how to use
NSDateFormatter, or the implementation in the December 1 drop is silently
not supporting setting the dateFormat property, which appears to be the
case, as setting dateStyle and timeStyle do appear to work.

import Foundation

let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "dd-MM-yyyy"
var dateStr = dateFormatter.stringFromDate(NSDate())

print(dateStr)

dateFormatter.dateStyle = .MediumStyle
dateFormatter.timeStyle = .MediumStyle
dateStr = dateFormatter.stringFromDate(NSDate())
print(dateStr)

results in:

➜  dates
 LD_LIBRARY_PATH=/opt/apple/swift-2.2-SNAPSHOT-2015-12-01-b-ubuntu14.04/usr/lib/swift/linux:$LD_LIBRARY_PATH
swift printdate.swift
<-- this is a blank line emitted by the first print(), which it should not
be -->
Dec 11, 2015, 6:52:33 PM

Thanks for any insight and if I need to file a bug report I am happy to
help,
Joe




On Fri, Dec 11, 2015 at 10:59 AM, Tony Parker <anthony.parker at apple.com>
wrote:

> Hi Joe,
>
> Try this as a workaround: Set the LD_LIBRARY_PATH environment variable to
> $INSTALLED_LOCATION_OF_SWIFT/usr/lib/swift/linux
>
> This should only affect the REPL and not compiled code.
>
> I think this is supposed to be fixed in the top of tree Swift but not in
> the Dec 1 binary drop.
>
> - Tony
>
> On Dec 11, 2015, at 5:54 AM, Joseph Bell via swift-corelibs-dev <
> swift-corelibs-dev at swift.org> wrote:
>
> All,
>
> Howdy.  I am using swift-2.2-SNAPSHOT-2015-12-01-b-ubuntu14.04 that was
> released on December 1.  The following code:
>
> import Foundation
>
> let dateFormatter = NSDateFormatter()
> dateFormatter.dateFormat = "dd-MM-yyyy"
> let dateStr = dateFormatter.stringFromDate(NSDate())
>
> print(dateStr)
>
> results in
>
> LLVM ERROR: Program used external function
> '_TFC10Foundation6NSDateCfT_S0_' which could not be resolved!
>
> when executed with the swift driver, and then when compiled with swiftc
> the print statement just gives a blank newline.
>
> I don't know if this is a known issue (I haven't found any reference on
> the status page or elsewhere indicating this was unimplemented), or I have
> an environmental problem.
>
> Thoughts?
>
> Joe
>
> _______________________________________________
> swift-corelibs-dev mailing list
> swift-corelibs-dev at swift.org
> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-corelibs-dev/attachments/20151211/f0348381/attachment.html>


More information about the swift-corelibs-dev mailing list